package.json 配置参数解释

package.json 配置参数解释,已包含package所有配置参数,package.json 配置参数很多,大部分并不是必须的,一般都是name、version、main、author、dependencies、devDependencies这几个参数

package.json 配置参数解释,已包含package所有配置参数,package.json 配置参数很多,大部分并不是必须的,一般都是name、version、main、author、dependencies、devDependencies这几个参数比较常用

name

必须字段。

小提示:

  • 不要在name中包含js, node字样;
  • 这个名字最终会是URL的一部分,命令行的参数,目录名,所以不能以点号或下划线开头;
  • 这个名字可能在require()方法中被调用,所以应该尽可能短;

version

必须字段。

description

可选字段,必须是字符串。npm search的时候会用到。

keywords

可选字段,字符串数组。npm search的时候会用到。

homepage

可选字段,没有http://等带协议前缀的URL。

bugs

可选字段,问题追踪系统的URL或邮箱地址;npm bugs用的上。

{ "url" :"http://github.com/owner/project/issues",

 "email" :"project@hostname.com"

}

license

可选字段。

如果是使用一个普遍的license,比如BSD-3-Clause或MIT,直接使用:

{ "license" : "BSD-3-Clause" }

author, contributors

都是可选字段。author是一个人,contributors是一组人。

Author的格式如下:

{ "name" : "Barney Rubble",
 "email" : "b@rubble.com",
 "url" : "http://barnyrubble.tumblr.com/"
}

这种格式也可以:

"Barney Rubble <b@rubble.com> (http://barnyrubble.tumblr.com/)"

files

可选字段,项目包含的一组文件。如果是文件夹,文件夹下的文件也会被包含。如果需要把某些文件不包含在项目中,添加一个”.npmignore”文件。这个文件和”gitignore”类似。

main

可选字段。这个字段的值是你程序主入口模块的ID。如果其他用户需要你的包,当用户调用require()方法时,返回的就是这个模块的导出(exports)。

bin

可选字段。很多的包都会有执行文件需要安装到PATH中去。

这个字段对应的是一个Map,每个元素对应一个{ 命令名:文件名 }。

{ "bin" : { "npm" : "./cli.js" } }

directories

用于指示包的目录结构:

 directories.lib

指示库文件的位置。

 directories.bin

和前面的bin是一样的,但如果前面已经有bin,那么这个就无效。

除了以上两个,还有Directories.doc& Directories.man & Directories.example。

repository

可选字段。用于指示代码存放的位置。

//web前端开发http://www.51xuediannao.com/
"repository" :
  { "type" : "git", "url" : "http://github.com/npm/npm.git"
  }
"repository" :
  { "type" : "svn"
  , "url" : "http://v8.googlecode.com/svn/trunk/"
  }

scripts

可选字段,object。Key是生命周期事件名,value是在事件点要跑的命令。参考npm-scripts。

config

可选字段,object。

Config对象中的值在Scripts的整个周期中皆可用,专门用于给Scripts提供配置参数。

dependencies

可选字段,指示当前包所依赖的其他包。

{ "dependencies" :
  { "foo" : "1.0.0 - 2.9999.9999"
  , "bar" : ">=1.0.2 <2.1.2"
  , "baz" : ">1.0.2 <=2.3.4"
  , "boo" : "2.0.1"
  , "qux" : "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0"
  , "asd" : "http://asdf.com/asdf.tar.gz"
  , "til" : "~1.2"
  , "elf" : "~1.2.3"
  , "two" : "2.x"
  , "thr" : "3.3.x"
  }
}

版本格式可以是下面任一种:

  • version 完全匹配
  • >version 大于这个版本
  • >=version大于或等于这个版本
  • <version
  • <=version
  • ~version 非常接近这个版本
  • ^version 与当前版本兼容
  • 1.2.x X代表任意数字,因此1.2.1, 1.2.3等都可以
  • http://... Unix系统下使用的tarball的URL。
  • * 任何版本都可以
  • ""任何版本都可以
  • version1 - version2  等价于 >=version1 <=version2.
  • range1 || range2 满足任意一个即可
  • git... Git地址
  • user/repo

devDependencies

可选字段。如果只需要下载使用某些模块,而不下载这些模块的测试和文档框架,放在这个下面比较不错。

peerDependencies

可选字段。兼容性依赖。如果你的包是插件,适合这种方式。

bundledDependencies

可选字段。发布包时同时打包的其他依赖。

optionalDependencies

可选字段。如果你想在某些依赖即使没有找到,或则安装失败的情况下,npm都继续执行。那么这些依赖适合放在这里。

engines

可选字段。既可以指定node版本:

{ "engines" : {"node" : ">=0.10.3 <0.12" } }

也可以指定npm版本:

{ "engines" : {"npm" : "~1.0.20" } }

engineStrick

可选字段,布尔值。如果你肯定你的程序只能在制定的engine上运行,设置为true。

os

可选字段。指定模块可以在什么操作系统上运行:

"os" : [ "darwin","linux" ]

"os" : [ "!win32" ]

CPU

可选字段。指定CPU型号。

"cpu" : [ "x64","ia32" ]

"cpu" : [ "!arm","!mips" ]

preferGlobal

可选字段,布尔值。如果你的包是个命令行应用程序,需要全局安装,就可以设为true。

private

可选字段,布尔值。如果private为true,npm会拒绝发布。这可以防止私有repositories不小心被发布出去。

publishConfig

可选字段。发布时使用的配置值放这。

默认值

·  "scripts":{"start": "node server.js"}

如果你的包里有server.js文件,npm默认将执行: node server.js.

·  "scripts":{"preinstall":"node-gyp rebuild"}

如果包里有binding.gyp,npm默认在preinstall命令时,使用node-gyp做编译。

源作者:http://blog.csdn.net/woxueliuyun/article/details/39294375

本文链接: package.json 配置参数解释http://www.51xuediannao.com/javascript/package_parameter.html
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: package.json 中的 scripts 字段是一个配置命令的对象,它可以定义多个命令,并且通过 `npm run [script name]` 在命令行中运行。参数是通过在命令行中的空格隔开的字符串传递给脚本的。例如: ``` "scripts": { "build": "webpack --config build.config.js", "test": "jest --coverage" }, ``` 运行 `npm run build` 将运行命令 `webpack --config build.config.js`。 您可以在 package.json 脚本命令中通过 `$npm_config_[key]` 访问 `npm config` 中的配置项,并在脚本命令中使用它们,例如: ``` "scripts": { "build": "webpack --env.NODE_ENV=$npm_config_environment" }, ``` 运行 `npm run build -- --environment=production` 将运行命令 `webpack --env.NODE_ENV=production`。 ### 回答2: package.json文件是Node.js项目的配置文件,其中包含了一些项目相关的信息,包括项目的依赖、脚本命令等等。其中scripts属性是最常用的属性之一,它指定了npm运行脚本命令的方式。 在scripts属性中,可以定义多个命令,各个命令之间以空格分隔。例如: ```json "scripts": { "start": "node index.js", "test": "mocha" } ``` 在上述示例中,定义了start和test两个命令。start命令指定了运行node index.js命令,用于启动应用程序;test命令指定了运行mocha命令,用于运行测试。 npm运行脚本的方式是使用npm run命令,后面跟着需要运行的脚本命令名称。例如: ```bash npm run start ``` 上述命令将会执行start命令,即运行node index.js命令。 当然,也可以向脚本命令中传递参数,例如: ```json "scripts": { "build": "webpack --config webpack.config.js", "test": "mocha --grep 'test case name'" } ``` 在上述示例中,build命令指定了使用webpack.config.js配置文件进行项目构建;test命令中的--grep参数指定了只运行名称中包含'test case name'的测试用例。 总而言之,package.json的scripts参数提供了一种方便的方式来定义项目中需要运行的脚本命令,为项目开发和维护提供了很大的便利性。 ### 回答3: package.json是一个标准的npm配置文件,包含了项目的元数据和依赖项信息。其中,scripts参数是用来定义一些脚本命令的。下面是一些常见的脚本命令及其作用: 1. start:启动应用程序。通常用于开发环境中。 2. build:打包静态资源。通常用于生产环境中。 3. test:运行单元测试。 4. lint:对代码进行静态分析,检查潜在的错误及代码规范。 5. prestart,poststart,prebuild,postbuild等预设脚本:在执行start或build等命令前或后做一些准备或清理工作。 6. 自定义脚本:开发者可以自行定义一些脚本命令来满足自己的需求,比如部署到服务器等。自定义脚本命令需要按照"脚本名": "命令"的格式进行定义,如下所示: ``` "deploy": "npm run build && scp -r dist/ user@example.com:/path/to/remote/server" ``` 在执行时,可以通过npm run deploy来运行该脚本命令。 脚本的执行顺序是按照定义的顺序执行的,也可以通过在命令中使用&或者&&来进行并行或者串行执行。比如: ``` "start": "npm run build & node server.js" ``` 该命令会先执行打包命令,然后并行执行node server.js启动应用程序。 总之,package.json的scripts参数提供了一种简便的方式来定义和执行一些脚本命令,使得开发者可以轻松地管理和控制项目中的各种任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值