美文网首页
package.json(1)踏入门槛

package.json(1)踏入门槛

作者: 说的都是啥 | 来源:发表于2020-12-05 09:58 被阅读0次

阮一峰源地址
注:本文主要记录一些难以理解的属性

  1. version:version是版本(遵守“大版本.次要版本.小版本”的格式)。
  2. scripts指定了命令缩写,前面加上npm run即可使用后面引号内的命令。
  3. dependencies字段指定了项目运行所依赖的模块,devDependencies指定项目开发所需要的模块。与之相对应的是下载时的 --save写入运行时依赖属性与--save-dev写入开发时依赖属性。关于版本号
指定版本:比如1.2.2,遵循“大版本.次要版本.小版本”的格式规定,安装时只安装指定版本。
波浪号(tilde)+指定版本:比如~1.2.2,表示安装1.2.x的最新版本(不低于1.2.2),但是不安装1.3.x,
也就是说安装时不改变大版本号和次要版本号。
插入号(caret)+指定版本:比如ˆ1.2.2,表示安装1.x.x的最新版本(不低于1.2.2),但是不安装2.x.x,
也就是说安装时不改变大版本号。需要注意的是,如果大版本号为0,则插入号的行为与波浪号相同,
这是因为此时处于开发阶段,即使是次要版本号变动,也可能带来程序的不兼容。
latest:安装最新版本。
  1. package.json文件可以手工编写,也可以使用npm init命令自动生成。
$ npm init
  1. 有了package.json文件,直接使用npm install命令,就会在当前目录中安装所需要的模块。
  2. peerDependencies:如果A模块为1.0,B模块为2.0,且只有这两个版本可以并存,那么使用这个属性可以限制。注意,从npm 3.0版开始,peerDependencies不再会默认安装了。
{
  "name": "chai-as-promised",
  "peerDependencies": {
    "chai": "1.x"
  }
}

上面代码指定,安装chai-as-promised模块时,主程序chai必须一起安装,而且chai的版本必须是1.x。如果你的项目指定的依赖是chai的2.0版本,就会报错。

  1. bin:用于规定对应文件的位置类似于别名
"bin": {
  "someTool": "./bin/someTool.js"
}

scripts: {  
  start: './node_modules/bin/someTool.js build'
}
// 简写为
scripts: {  
  start: 'someTool build'
}

所有node_modules/.bin/目录下的命令,都可以用npm run [命令]的格式运行。在命令行下,键入npm run,然后按tab键,就会显示所有可以使用的命令。

  1. main:main字段指定了加载的入口文件,require('moduleName')就会加载这个文件。这个字段的默认值是模块根目录下面的index.js。
  2. config:原图奉上


    image.png
    image.png
  3. browser:browser指定该模板供浏览器使用的版本。Browserify这样的浏览器打包工具,通过它就知道该打包那个文件。
"browser": {
  "tipso": "./node_modules/tipso/src/tipso.js"
},
  1. engines:用来指定平台node的版本或者npm版本
{ "engines" : { "node" : ">=0.10.3 <0.12" } }
{ "engines" : { "npm" : "~1.0.20" } }
  1. man:man用来指定当前模块的man文档的位置。
"man" :[ "./doc/calc.1" ]
  1. preferGlobal:preferGlobal的值是布尔值,表示当用户不将该模块安装为全局模块时(即不用–global参数),要不要显示警告,表示该模块的本意就是安装为全局模块。
  2. style:style指定供浏览器使用时,样式文件所在的位置。样式文件打包工具parcelify,通过它知道样式文件的打包位置。
"style": [
  "./node_modules/tipso/src/tipso.css"
]

相关文章

  • package.json(1)踏入门槛

    阮一峰源地址[https://javascript.ruanyifeng.com/nodejs/packagejs...

  • package.json(2)踏入门槛

    ESLint配置[https://blog.csdn.net/guang_s/article/details/90...

  • 踏入青春的门槛

    大约是去年夏天,儿子一下子窜了个。 那个暑假,我大腹便便,怀着女儿,很多时候都窝在空调间里,儿子的课外班都由他自己...

  • 1.8 只争朝夕:踏入长生的门槛

    多少事,从来急;天地转,光阴迫。一万年太久,只争朝夕。 《满江红》——毛泽东 人生九百月(75岁,中国男人平均寿命...

  • 比学习更重要的事

    “学习”这件事实际上有比较高的门槛,当你踩到这个门槛以及踏入门槛时,也就是所谓的“入门”,你才真正开始了学习。凡是...

  • package.json

    1、package.json package.json是通过npm init 创建时生成的,package.jso...

  • 零基础如何踏入编程门槛?

    前言 最近我的亲兄弟想要踏入互联网的大圈,之前一直是在传统银行里面工作,由于这几年支付宝等平台兴起,又加之人工智能...

  • 如何在vue项目中引入bootstrap样式

    1.首先,修改package.json文件 默认创建好的package.json的dependencies中只有两...

  • npm-npmscript-gulp-webpack

    1、如何全局安装一个 node 应用? 2、 package.json 有什么作用? package.json 存...

  • NodeJs 实战

    任务1: 读取package.json中的版本号 方法一: 直接require(package.json)文件 方...

网友评论

      本文标题:package.json(1)踏入门槛

      本文链接:https://www.haomeiwen.com/subject/ekowwktx.html