美文网首页
package.json的书写配置

package.json的书写配置

作者: chasing_dream | 来源:发表于2018-09-04 14:25 被阅读8次

    概述

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

    scripts字段

    scripts指定了运行脚本命令的npm命令行缩写,比如start指定了运行npm run start时,所要执行的命令。
    下面的设置指定了npm run preinstall、npm run postinstall、npm run start、npm run test时,所要执行的命令

    "scripts": {
        "preinstall": "echo here it comes!",
        "postinstall": "echo there it goes!",
        "start": "node index.js",
        "test": "tap test/*.js"
    }
    

    dependencies字段、devDependencies字段

    dependencies字段指定了项目运行所依赖的模块
    devDependencies指定项目开发所需要的模块

    指定版本:比如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:安装最新版本。

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

    $ npm init
    

    项目名称(name)和项目版本(version)是必填的,其他都是选填的
    有了package.json文件就可以直接安装项目模块

    $ npm install
    

    如果一个模块不在package.json文件之中,可以单独安装这个模块,并使用相应的参数,将其写入package.json文件之中

    $ npm install express --save
    $ npm install express --save-dev
    
    npm install moduleName # 安装模块到项目目录下
     
    npm install -g moduleName # -g 的意思是将模块安装到全局,具体安装到磁盘哪个位置,要看 npm config prefix 的位置。
     
    npm install -save moduleName # -save 的意思是将模块安装到项目目录下,并在package文件的dependencies节点写入依赖。
     
    npm install -save-dev moduleName # -save-dev 的意思是将模块安装到项目目录下,并在package文件的devDependencies节点写入依赖。
    

    -save和-save-dev的区别

    peerDependencies

    peerDependencies字段,就是用来供插件指定其所需要的主工具的版本

    bin字段

    bin项用来指定各个内部命令对应的可执行文件的位置
    tip:在命令行下,键入npm run,然后按tab键,就会显示所有可以使用的命令

    main字段

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

    config 字段

    config字段用于添加命令行的环境变量。

    browser字段

    browser指定该模板供浏览器使用的版本

    engines 字段

    engines字段指明了该模块运行的平台,比如 Node 的某个版本或者浏览器

    { "engines" : { "node" : ">=0.10.3 <0.12" } }
    

    man字段

    man用来指定当前模块的man文档的位置

    preferGlobal字段

    preferGlobal的值是布尔值,表示当用户不将该模块安装为全局模块时(即不用–global参数),要不要显示警告,表示该模块的本意就是安装为全局模块。

    style字段

    style指定供浏览器使用时,样式文件所在的位置。样式文件打包工具parcelify,通过它知道样式文件的打包位置。

    其他

    licenses:授权方式/许可证
    directories:目录
    respository:资源仓库地址
    version 版本号
    文档地址

    相关文章

      网友评论

          本文标题:package.json的书写配置

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