美文网首页
配置文件之package.json

配置文件之package.json

作者: 夏知更 | 来源:发表于2018-06-04 20:56 被阅读16次

    基础配置文件package.json

    package.json文件是任何一个用npm管理的项目的基础配置文件,文件中包含了项目所要用到的所有依赖和脚本;

    • 基础属性

      • name:项目名称
      • version: 项目版本,version必须可以被npm依赖的一个node-semver模块解析

    package.json必须是一个严格的json文件,其中最重要的是name和version两个属性,这两个属性必须要有,否则模块就无法被安装,这两个属性一起形成了一个npm模块的唯一标识。模块中内容变更的同时,版本也一起变化。

    • scripts属性

    scripts属性是一个对象,这个对象中指定了项目的生命周期各个环节需要执行的命令(key是生命周期中的事件,value是要执行的命令)


    scripts属性

    上图是使用vue-cli脚手架时package.json里关于scripts属性的命令项:

    • “start”:启动命令,运行npm run dev时启动项目
    • “dev”:
      每次执行此命令时首先去加载webpack.dev.conf.js文件;
      --host 0.0.0.0在浏览器以IP地址形式打开;

    “bulid”:build命令对应的脚本是node build.js,命令行下使用npm run命令,就可以执行这段脚本。

    $ npm run build
    // 等同于执行
    $ node build.js

    这些定义在npm中的脚本,就称之为npm脚本。每当执行npm run,就自动新建一个shell,在这个shell里面执行指定的脚本命令。因此,只要是shell可以运行的命令,就可以写在npm脚本里面。

    • dependencies属性

    dependencies属性指定了项目运行所依赖的模块,对象中各个成员分别由模块名和版本组成,表示所依赖的模块及其版本范围;


    dependencies属性

    其中版本遵循“大版本.次要版本.小版本”的格式,版本范围的安装有以下几种形式:

    1. 指定版本:安装时只安装指定版本。
    2. 波浪号+版本号:比如~1.2.2,表示安装1.2.x的最新版本(不低于1.2.2),但是不安装1.3.x,也就是说安装时不改变大版本号和次要版本号,只改变小版本号。
    3. 插入号+版本号:比如ˆ1.2.2,表示安装1.x.x的最新版本(不低于1.2.2),但是不安装2.x.x,也就是说安装时不改变大版本号。需要注意的是,如果大版本号为0,则插入号的行为与波浪号相同,这是因为此时处于开发阶段,即使是次要版本号变动,也可能带来程序的不兼容。
    4. latest:安装最新版本。
    • devDependencies属性

    devDependencies属性指定了项目开发所需要的模块;

    在使用 npm install xxx 安装模块时,--save参数表示将该模块写入dependencies属性,--save-dev表示将该模块写入devDependencies属性

    • engines 属性
      engines属性

    engines 属性指明了该模块运行的平台

    • browserslist属性
    browserslist属性

    browserslist属性指明了对浏览器的要求,这个配置文件时vue-cli脚手架内package.json文件,因此指明了vue不支持IE8

    相关文章

      网友评论

          本文标题:配置文件之package.json

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