node-npm

338 阅读3分钟

凭我的理解尽量些吧,这块好模糊

从把一个项目clone到本地开始,进入对应目录,需要作如下操作来执行相关的指令

1. readme.md

首先要到项目里找到readme.md文件,README.md文件是一个项目的入门手册,里面介绍了整个项目的使用、功能等等。md是Markdown的缩写,markdown是一种语言,后面有需要在学习吧,大鹅说能看懂内容就行。

要在这个文件里找到需要的执行步骤:

## Project setup
```
npm install   //上来就执行,npm会把所有项目需要&本地缺失的需要npm安装的模块全部安装
```
### Compiles and hot-reloads for development
```
npm run serve   //启动服务器,开发的时候要执行,这样相应的服务才能起来???这里我又不明白了,不是下午急头白脸的跟我说前后端分离的项目不止代码不依赖,环境也不依赖么?那为啥要起服务器?
```
### Compiles and minifies for production
```
npm run build    //这个是临要上线了执行的,执行后会生成一个dist目录,这个dist目录就是上线需要的全部文件了。

npm run serve,这里起的服务就是node服务,用来输出html的,它替代了后端的服务,属于前端自己的服务。

这里面的npm install、npm run serve、npm run build,都是直接执行就可以了。

2. 但是有的项目是没有readme.md的,或者readme.md里面信息不全,这个时候也要记得上来先执行npm install

这个npm install会去遍历安装所有在package.json(dependencies或者devDependencies)

里记录的安装包。

devDependencies:是开发过程中需要依赖的安装包

dependencies:上线之后需要依赖的安装包

 "dependencies": {
    "core-js": "^3.4.3",    
    "element-ui": "^2.13.0",
    "vue": "^2.6.10",
    "vue-router": "^3.1.3",
    "vuex": "^3.1.2" 
},  
"devDependencies": { 
   "@vue/cli-plugin-babel": "^4.1.0",
   "@vue/cli-plugin-eslint": "^4.1.0",
   "@vue/cli-service": "^4.1.0",
   "@vue/eslint-config-standard": "^4.0.0",
   "babel-eslint": "^10.0.3",
   "eslint": "^5.16.0",
   "eslint-plugin-vue": "^5.0.0",
   "vue-template-compiler": "^2.6.10"  
},

这里的安装,是都安装在对应项目的node_modules目录下,如果没有“node_modules”文件夹,npm会新建一个同名文件夹来存放。

备注:这里的视角是clone别人项目的视角,如果是自己的项目给别人使用,那么package.json里的dependencies和devDependencies需要自己维护,自己通过npm下载过的安装包要添加到记录里。不过,我也是有点懵逼,npm不是无所不能的样子么,为什么自己install完不自己添加呢?

——答:可以!

npm i axios --save-dev  可以直接存储到devDependencies(i 是install的简写)

npm i axios --save 可以直接存储到dependencies

3. npm scripts

还是readme.md不全的情况下,可能需要自己根据npm scripts里面的代码执行指令。看npm scripts(package.json里面scrips下的属性),通过执行命令“npm run 属性”来运行。

有一些可以省略run的特定属性,大鹅说面试会问,要记得有这么一回事。

之所以要用“npm run 属性”来运行是因为,直接运行属性的value会找不到命令,很**然鹅还是要记住要用这个命令。

4. npm——node package management

学了一下午,认识一下npm,hello,npm~