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)

时间: 2024-10-17 07:31:16

package.json(1)的相关文章

npm package.json属性详解

章节目录 概述 name version description keywords homepage bugs license 和用户相关的属性: author, contributors files main bin man directories directories.lib directories.bin directories.man directories.doc directories.example repository scripts config dependencies U

怎样通过已经使用过webpack+vue+vueRouter+vuecli的配置文件package.json创建一个项目

首先,我们自己得手动创建一个webpack+vue+vueRouter+vuecli工程,执行下面:如:新建一个vue项目,创建一个基于"webpack"的项目,项目名为vuedemo: $ vue init webpack vuedemo 安装完成后进入工程名称再根据原来项目的配置文件初始化 $ cd vuedemo $ npm install 但是由于在新建的时候对eslint的选择中选择了Yes,所以后面根据配置package.json的时候,发现没有eslint-friendl

从package.json中获取属性

var pjson = require('./package.json'); console.log(pjson.version); 详见:https://stackoverflow.com/questions/9153571/is-there-a-way-to-get-version-from-package-json-in-nodejs-code

nodejs的package.json依赖dependencies中 ^ 和 ~ 的区别

nodejs的package.json定义了一个模块,包括其依赖关系的一个简单的JSON文件,该文件可以包含多个不同的指令来告诉Node包管理器如何处理模块. dependencies则表示此模块依赖的模块和版本,其中常常可以看到类似 ^1.2.0 或 ~1.2.0 这样的版本范围指示. 首先,一个完整的版本号组表示为: [主要版本号,次要版本号,补丁版本号] 1. 用 ~ 指示范围 版本号中如果指定了主要版本.次要版本,则只允许补丁版本升级: 如果只指定了主要版本,则允许次要版本.补丁版本升级

[Node.js] Configuring npm package.json scripts

With a node package manager's (npm) package.json script property, you can preconfigure common tasks like running unit tests with npm $SCRIPT_NAME. package.json: { "name": "commonJSBroswerfiy", "version": "0.0.0", &q

NodeJS中 package.json 解析

package.json 中包含各种所需模块以及项目的配置信息(名称.版本.许可证等)meta 信息. 包含可配置项 name 名称 应用描述 description 版本号 version 应用的配置项 config 作者 author 资源仓库地址 respository 授权方式 licenses 目录 directories 应用入口文件 main 命令行文件 bin 项目应用运行依赖模块 dependencies 项目应用开发环境依赖 devDependencies 运行引擎 engi

如何编写package.json配置NodeJS项目的模块声明

在NodeJS项目中,用package.json文件来声明项目中使用的模块,这样在新的环境部署时,只要在package.json文件所在的目录执行 npm install 命令即可安装所需要的模块. package.json文件中可配置的项有:名称(name).应用描述(description).版本号(version).应用的配置项(config).作者(author).资源仓库地址(repository).授权方式(licenses).目录(directories).应用入口文件(main)

伙计,给我来一杯package.json!不加糖

前言:夜深了,我熬了一锅热气腾腾的package.json,给大家端上来,希望大家喜欢 json和JS对象的区别 package.json,顾名思义,它是一个json文件,而不能写入JS对象. 所以我们首先要搞懂的是JSON和JS对象的区别: (图源:找到的都是被爬虫爬的文章,实在找不到原作者..) [注意] 在JSON中属性名一定要加上双引号 name字段 name字段的限制 1.name字段必须小于214字符(这个没什么好记的-) 2.name字段不能包含有“.”符号和下划线(这个要记一下哦

妙用 `package.json` 快速 `import` 文件(夹)

前言 import router from './router'; import router from '../../router'; import router from './../../../router'; 如上,或许我们在项目中经常需要引入一些文件夹,入后在路径上就会出现好多的 ../../,并且一旦换个文件夹,都得重新检出 import 是否正确 一劳永逸 目录机构 ├── component ├── .... └── router └── index.js 黑魔法 在 route