一、初步理解

1. npm安装package.json时  直接转到当前项目目录下用命令npm install 或npm install --save-dev安装即可,自动将package.json中的模块安装到node-modules文件夹下
2. package.json 中添加中文注释会编译出错

3. 每个项目的根目录下面,一般都有一个package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。npm install 命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。

4. package.json文件可以手工编写,也可以使用npm init命令自动生成。

 
注意:npm init 时,用户需回答一些问题,然后在当前目录生成一个基本的package.json文件。所有问题之中,只有项目名称(name)和项目版本(version)是必填的,其他都是选填的。
 
二、进一步理解 (完整的字段说明:http://www.mujiang.info/translation/npmjs/files/package.json.html  中文版)
以下是根据 创建vue项目的时候 npm init自动生成的package.json做详细的理解
1.下面是最简单的的一个package.json 文件(只有两个数据,项目名称和项目版本,他们都是必须的,如果没有就无法install)
{
"name": "kocla_test",
"version": "1.0.0",
}

2.scripts

指定了运行脚本命令的npm命令行缩写,比如start指定了运行npm run start时,所要执行的命令。

下面的设置指定了npm run dev、npm run bulid、npm run unit、npm run test、npm run lint时,所要执行的命令。 

"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",
"test": "npm run unit",
"lint": "eslint --ext .js,.vue src test/unit/specs"
},

3  dependencies,devDependencies

dependencies和devDependencies两项,分别指定了项目运行所依赖的模块、项目开发所需要的模块。它们都指向一个对象,该对象的各个成员,分别由模块名和对应的版本要去组成,表示依赖的模块及其版本范围

--save参数表示将该模块写入dependencies属性,
--save-dev表示将该模块写入devDependencies属性。

"dependencies": {
"vue": "^2.2.2",
"vue-router": "^2.2.0"
},
"devDependencies": {
"autoprefixer": "^6.7.2",
"babel-core": "^6.22.1",
"babel-eslint": "^7.1.1",
"babel-loader": "^6.2.10",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-preset-env": "^1.2.1",
"babel-preset-stage-2": "^6.22.0",
"babel-register": "^6.22.0",
"chalk": "^1.1.3",
}

4、config字段

config字段用于向环境变量输出值。

{
"name" : "foo",
"config" : { "port" : "8080" },
"scripts" : { "start" : "node server.js" }
}

  

5.engines 字段
指明了该项目所需要的node.js版本
 "engines": {
"node": ">= 4.0.0",
"npm": ">= 3.0.0"
},

  

6.bin

许多包有一个或多个可执行文件希望被安装到系统路径。在npm下要这么做非常容易(事实上,npm就是这么运行的)。

这需要在你的package.json中提供一个bin字段,它是一个命令名和本地文件名的映射。在安装时,如果是全局安装,npm将会使用符号链接把这些文件链接到prefix/bin,如果是本地安装,会链接到./node_modules/.bin/。

比如,要使用myapp作为命令时可以这么做:

{ "bin" : { "myapp" : "./cli.js" } }

这么一来,当你安装myapp,npm会从cli.js文件创建一个到/usr/local/bin/myapp的符号链接(这使你可以直接在命令行执行myapp)。

 

最新文章

  1. Atom使用记录(持续更新中)
  2. Bzoj2683 简单题 [CDQ分治]
  3. Java——新IO 通道
  4. mysql 数据库字符集的指定
  5. 最近开始研究PMD(一款采用BSD协议发布的Java程序代码检查工具)
  6. HDU 1969 Pie(二分法)
  7. 使用VS Code开发TypeScript--定义变量推荐使用let
  8. Shell编程实践之批量安装JDK
  9. 关于C/S框架网单表绑定,查询
  10. TeamViewer 密码有关
  11. WordCount测试项目小结
  12. Swagger结合mustache模板生成后台接口代码、以及前后台建模代码
  13. 20165315 2018-2019-2 《网络对抗技术》Exp1 PC平台逆向破解
  14. XamarinSQLite教程在Xamarin.Android项目中提取数据库文件
  15. Oracle错误——user ** lacks CREATE SESSION privilege logon denied
  16. 黄聪:OTP动态密码_Java代码实现
  17. ashx 一般处理程序中使用 Session
  18. Python3求笛卡尔积的两种方法
  19. 最近编译tolua_runtime安卓编译错误
  20. final关键字详解

热门文章

  1. 《Linux内核分析》第四周学习总结 扒开系统调用的三成皮(上)
  2. 第一个spring,第一天。
  3. Daily Scrum - 11/25
  4. vue 有关框架
  5. 用node编写cli工具
  6. obj.getClass() == Person.class 用于判断类型
  7. 【bzoj4596】[Shoi2016]黑暗前的幻想乡 容斥原理+矩阵树定理
  8. Day24-KindEditor基本使用和文件操作2
  9. MT【165】分段函数
  10. 【转】AD转换中常用的十种数字滤波法