3.2 package.json 文件详解

原文来自:https://dkvirus.gitbooks.io/-npm/content/di-sanzhang-npm-chuang-jian-xiang-mu/32-packagejson-xiang-jie.html

阅读本文之前,先看下面这个 package.json 的配置文件,如果每一项你都懂,那本文能带给你的收获也许就比较有限,你可以快速浏览或直接跳过;如果你和十天前的我一样,对很多选项存在着疑惑,那花一段时间慢慢阅读本文,你的疑惑一定一个一个都会消。

{

"private": true,

"dependencies": {

"antd": "^2.11.1",

"classnames": "^2.2.5"

},

"devDependencies": {

"axios": "^0.15.3",

"babel-eslint": "^6.1.2"

},

"scripts": {

"start": "node index.js"

}

}

1. private 属性

可选字段,布尔值。如果 private 为 true,npm 会拒绝发布。

这可以防止私有 repositories 不小心被发布出去。

2. dependencies 与 devDependencies

问题一:dependencies 与 devDependencies 属性区别?

dependencies 指定了项目生产环境时所依赖的模块;

devDependencies 制定了项目开发环境时所依赖的模块。

问题二:开发环境和生产环境是什么?

问题三:为什么需要生产/开发两个环境?

举个最简单的例子:

在开发阶段,我们需要对开发的模块进行单元测试,这时在开发环境 devDependencies 下就要安装单元测试模块。

在生产环境 dependencies,用户直接使用项目,此时项目的开发已全部完成。这时就不需要单元测试模块了,再加上只会影响性能。

3. scripts 属性

scripts 中文名称为脚本,也就是说可以为我们带来便利。

以上面的配置为例:

scripts 的脚本运行方式是在命令行中输入 npm run <脚本名称>

上图中只有一个 start 值,那么运行时要输入 npm run start

如果不输入脚本,就需要在命令行中输入 node index.js 这行代码

真实情况是输入 node index.js 但是觉得这么太麻烦,就用 npm run start 去代替 node index.js。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 什么是 NPM npm之于Node,就像pip之于Python,gem之于Ruby,composer之于PHP。 ...
    ihoey阅读 6,372评论 2 36
  • 原文:http://javascript.ruanyifeng.com/nodejs/packagejson.ht...
    水墨熊猫阅读 1,318评论 0 2
  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 8,390评论 7 35
  • npm是什么 NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具...
    build1024阅读 8,159评论 0 9
  • 文 艾米 遇见你 你是天空那朵朵变幻的云 还是那一场场潇潇洒洒的雨 遇见你 你是那一阵阵飘忽不定的风 还是那片片漫...
    月影清韵阅读 1,097评论 108 123

友情链接更多精彩内容