package.json script字段

{
    "scripts": {
      "dev": "node build/dev-server.js",
      "build": "node build/build.js",
      "unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run",
      "e2e": "node test/e2e/runner.js",
      "test": "npm run unit && npm run e2e"
    }
}

定义了npm的脚本字段。

npm run dev //自动执行指向到 node build/dev-server.js 

npm install -save 和 npm install -save-dev 的区分

npm install moduleName

会安装moduleName在当前目录的node_modules目录下。但是不会写入依赖,运行npm install 的时候也就不会安装moduleName模块了。

npm install -g moduleName

会安装moduleName在全局,不会再项目的node_modules目录中保存模块,不会写入到package.json的依赖中。在运行npm install的时候也不会下载安装moduleName。具体全局安装到了哪个目录下面可以通过npm config prefix查看。

npm install -save moduleName

安装模块在node_modules目录下,并且会将模块的依赖写入到dependencies节点下面。在运行npm install的时候会初始化项目,将模块下载到项目目录下面。执行npm install --production或者指定NODE_ENV的变量值为production的时候,会自动的下载模块到node_modules目录下面。

npm install --save-dev moduleName

安装模块到node_modules目录下面,并且会将依赖写入到devDependencies节点下面。运行npm install 的时候会初始化项目,并将模块下载到项目下面。但是运行npm install --production的时候,不会自动下载到node_models目录下面。

devDependencies 节点下的依赖是中开发环境的时候才会需要的。但是在部署到正式环境的时候是不会安装这些依赖的,一般是通过npm install --save-dev命令行来安装,如果是开发环境和正式发布环境都需要的那么就需要用npm install --save命令行来安装了。