• package.json(1)


    借此篇文章回顾一下package.json里面的配置和相关文件,依赖需求的位置。

    对package.json的理解和学习

    一、初步理解

    1. npm安装package.json时  直接转到当前项目目录下用命令npm install 或npm install --save-dev安装即可,自动将package.json中的模块安装到node-modules文件夹下
    2. package.json 中添加中文注释会编译出错

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

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

    注意:npm init 时,用户需回答一些问题,然后在当前目录生成一个基本的package.json文件。所有问题之中,只有项目名称(name)和项目版本(version)是必填的,其他都是选填的。
    二、进一步理解 (完整的字段说明:http://www.mujiang.info/translation/npmjs/files/package.json.html  中文版)
    以下是根据 创建vue项目的时候 npm init自动生成的package.json做详细的理解
    1.下面是最简单的的一个package.json 文件(只有两个数据,项目名称和项目版本,他们都是必须的,如果没有就无法install)
    1
    2
    3
    4
    {
    "name""kocla_test",
    "version""1.0.0",
    }

    2.scripts

    指定了运行脚本命令的npm命令行缩写,比如start指定了运行npm run start时,所要执行的命令。

    下面的设置指定了npm run dev、npm run bulid、npm run unit、npm run test、npm run lint时,所要执行的命令。 

    1
    2
    3
    4
    5
    6
    7
    "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"
    },

    3  dependencies,devDependencies

    dependencies和devDependencies两项,分别指定了项目运行所依赖的模块、项目开发所需要的模块。它们都指向一个对象,该对象的各个成员,分别由模块名和对应的版本要去组成,表示依赖的模块及其版本范围

    --save参数表示将该模块写入dependencies属性,
    --save-dev表示将该模块写入devDependencies属性。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    "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",
    }

    4、config字段

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

    1
    2
    3
    4
    5
    {  
    "name""foo",  
    "config": { "port""8080"},  
    "scripts": { "start""node server.js"}  
    }  
     
    5.engines 字段
    指明了该项目所需要的node.js版本
    1
    2
    3
    4
    "engines": {
    "node"">= 4.0.0",
    "npm"">= 3.0.0"
    },
     

    6.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)

  • 相关阅读:
    Jquery 表单批量验证
    学习总结 本科学习生涯
    学习总结 大学英语四六级
    学习总结 普通话等级考试
    学习总结 NCRE二级和三级
    oracle程序块
    正则表达式
    redis常用命令
    FaaS 基于多租户技术 SaaS平台设计
    量化交易之网格情缘
  • 原文地址:https://www.cnblogs.com/wyliunan/p/7455191.html
Copyright © 2020-2023  润新知