zoukankan      html  css  js  c++  java
  • package.json是什么?_对package.json的理解和学习

    package.json是什么?

    npm安装package.json时  直接转到当前项目目录下用命令npm install 或npm install --save-dev安装即可,自动将package.json中的模块安装到node-modules文件夹下。

    package.json就是管理你本地安装的npm包,用于定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。一个package.json文件可以做如下事情: 

    展示项目所依赖的npm包
    允许你指定一个包的版本[范围] 
    让你建立起稳定,意味着你可以更好的与其他开发者共享

    注意:npm init 时,用户需回答一些问题,然后在当前目录生成一个基本的package.json文件。所有问题之中,只有项目名称(name)和项目版本(version)是必填的,其他都是选填的。

     

    package.json字段说明

    1、name

    包的名称,必须是唯一的,由小写英文字母、数字和下划线组成,不能包含空格 

     2、version

    项目版本号,符合语义化版本识别规范的版本字符串  

    3、description

    项目描述,项目的简要说明 

    4、keywords

    {Array}关键词数组,便于用户搜索到我们的项目。

    5、homepage

    用于定义项目url主页

    6、bugs

    提交bug的地址,项目问题反馈的Url或email配置,如:  

    { 
    “url” : “https://github.com/issues“, 
    “email” : “project@hostname.com” 
    }
    

      

    7、license

    项目许可证,让使用者知道是如何被允许使用此项目。默认是”ISC”  

    8、author

    定义该项目的作者。

    9、private

    代表npm是否发布该项目。如果设置为true, 那么npm会拒绝发布它

    10、scripts

    指定了运行脚本命令的npm命令行缩写,比如start指定了运行npm run start时,所要执行的命令。下面的设置指定了npm run dev、npm run bulid、npm run unit、npm run test、npm run lint时,所要执行的命令。如下:

    "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"
      },
    

      

    11、dependencies,devDependencies

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

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

    如下:

    "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",
    }
    

      

    12、config

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

    { 
      "name" : "foo", 
      "config" : { "port" : "8080" }, 
      "scripts" : { "start" : "node server.js" } 
    }
    

    pixabayhttps://www.wode007.com/sites/73237.html wallhavenhttps://www.wode007.com/sites/73236.html

    13、engines

    指明了该项目所需要的node.js版本 

    "engines": {
       "node": ">= 4.0.0",
       "npm": ">= 3.0.0"
     },
    

      

    14、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)。

  • 相关阅读:
    localStorage存储数组以及取数组方法
    jq选择CheckBox进行排序
    js定时函数,定时改变字体的大小
    JQuery Datatable用法
    WebSocket实战
    代码段
    黎活明给程序员的忠告 收藏
    雅砻江后勤项目经验总结
    Java泛型方法
    回忆,梦的开始
  • 原文地址:https://www.cnblogs.com/ypppt/p/13325194.html
Copyright © 2011-2022 走看看