关闭

package.json是什么?_对package.json的理解和学习

时间: 2018-09-11阅读: 3527标签: 学习

package.json是什么?

npm安装package.json时  直接转到当前项目目录下用命令npm install 或npm install --save-dev安装即可,自动将package.json中的模块安装到node-modules文件夹下。

package.json就是管理你本地安装的npm包,用于定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。一个package.json文件可以做如下事情: 

展示项目所依赖的npm包
允许你指定一个包的版本[范围] 
让你建立起稳定,意味着你可以更好的与其他开发者共享

注意:npm init 时,用户需回答一些问题,然后在当前目录生成一个基本的package.json文件。所有问题之中,只有项目名称(name)和项目版本(version)是必填的,其他都是选填的。


package.json字段说明

1、name

包的名称,必须是唯一的,由小写英文字母、数字和下划线组成,不能包含空格 

 2、version

项目版本号,符合语义化版本识别规范的版本字符串  

3、description

项目描述,项目的简要说明 

4、keywords

{Array}关键词数组,便于用户搜索到我们的项目。

5、homepage

用于定义项目url主页

6、bugs

提交bug的地址,项目问题反馈的Url或email配置,如:  

{ 
“url” : “https://github.com/issues“, 
“email” : “project@hostname.com” 
}

7、license

项目许可证,让使用者知道是如何被允许使用此项目。默认是”ISC”  

8、author

定义该项目的作者。

9、private

代表npm是否发布该项目。如果设置为true, 那么npm会拒绝发布它

10、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"
  },

11、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",
}

12、config

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

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

13、engines

指明了该项目所需要的node.js版本 

"engines": {
   "node": ">= 4.0.0",
   "npm": ">= 3.0.0"
 },

14、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.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/1070

关闭

前端为什么要学习vue.js

这几年Vue.js成为前端框架中最火的一个。越来越多的网站前端开始采用Vue.js开发。是开源世界华人的骄傲,其作者是我国尤雨溪。为了给个人开发提供更多的机遇打造出门槛低,成本低,跨设备和多平台的Vue.js.

Web前端开发小白的学习建议和路线图

对于新手小白来说学习Web前端开发,可能不知道从哪开始,总感觉无从下手,下面给Web开发者整理了一份学习建议及路线图,想要学习前端开发的东西可以借鉴学习一下

自学web前端的时候会遇到的学习难题

我做web前端开发将近6年的时间了,现在月薪可以接近30000已经算知足了,但是距离我年薪百万的目标还有很长的路要走,而以后靠的不能仅仅是技术

一个程序员的五年总结,给你不一样的角度

5 年是一个值得总结的阶段,而这 5 年后的今天,我发现自己越来越不像一个“程序员”。如今在工作中 开始关注文档,开始关注规范,希望自己输出的不只是代码; 每天会耗费时间消化各种外部信息

如何自学web前端开发?才能满足求职的标准

如果是单纯出于兴趣,或者只是为了突击某一阶段或者某一项目技术壁垒,不跟就业挂钩的自学倒也是无关痛痒。但是当上岗成为自学的终极目标和结果时,一切都就另当别论了。

前端学习计算机理论知识的好处

我认为学习计算机理论知识很有用,对职业发展帮助非常大。他认为应用开发和底层开发是两回事,前端属于应用开发,学理论知识完全浪费时间。具体细节就不说了,最后是不欢而散。

码农如何主动学习?

作为码农,工作以来我一直在断断续续思考和实践主动学习这件事,不过效果一直不尽人意,直到最近,我感觉状态有所改善,偶有所得。所以,在这篇文章中,我整理了 我对码农主动学习这件事的感悟以及可能有用的主动学习

高效的学习的几种方式

学习可以说是生活中的一部分,无论是为了升值加薪还是为了扩充自己的知识面,还是无意中的好奇心,我们都会去学习。不过很多时候,学过的东西没多久就忘记了

刚毕业想学习web前端,该怎么学才能最快入门?

首先无论你要学习任何技能,必须有一个清晰的版图,什么是清晰的版图呢?首先了解你学的技术将来要从事什么工作,这个工作的条件是哪些?然后你要有一个非常清晰的学习大纲

为什么Web前端变的越来越复杂,变得更加难学了

前端发展了也有些年头了,曾记得很多年前,聊起前端,都觉得是很简单,那个时候都没有前端工程师这个职位。可现在,前端已经逆袭了,已经不是原来的样子了,各种技术层出不穷,显的越来越高深莫测了

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!