凭我的理解尽量些吧,这块好模糊
从把一个项目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~