写点什么

Vue 进阶(七):走近 package.json

发布于: 22 小时前
Vue进阶(七):走近 package.json

一、初步理解

  1. npm安装package.json时 直接转到当前项目目录下用命令npm installnpm 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)是必填的,其他都是选填的。

二、进一步理解

以下是根据创建vue项目的时候 npm init自动生成的package.json做详细的理解。


  1. 下面是最简单的的一个package.json 文件(只有两个数据,项目名称和项目版本,他们都是必须的,如果没有就无法install


{  "name": "kocla_test",  "version": "1.0.0",}
复制代码


  1. 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"  },
复制代码


  1. dependencies,devDependencies


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


  • --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",}
复制代码


  1. config字段


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


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


  1. engines 字段指明了该项目所需要的node.js版本。


 "engines": {    "node": ">= 4.0.0",    "npm": ">= 3.0.0"  },
复制代码


  1. 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)。

三、拓展阅读

发布于: 22 小时前阅读数: 4
用户头像

No Silver Bullet 2021.07.09 加入

岂曰无衣 与子同袍

评论

发布
暂无评论
Vue进阶(七):走近 package.json