建设一个网站的步骤有哪些,专业企业展厅设计公司,经典软文案例,天津网站推广通常我们使用npm init命令来创建一个npm程序时#xff0c;会自动生成一个package.json文件。package.json文件会描述这个NPM包的所有相关信息#xff0c;包括作者、简介、包依赖、构建等信息#xff0c;格式是严格的JSON格式。 常用命令
npm i --save packageName 安装依赖…通常我们使用npm init命令来创建一个npm程序时会自动生成一个package.json文件。package.json文件会描述这个NPM包的所有相关信息包括作者、简介、包依赖、构建等信息格式是严格的JSON格式。 常用命令
npm i --save packageName 安装依赖包
npm i --save-dev packageName
npm i webpack1.2.1 安装指定版本的包版本号用符号连接
属性介绍
name
name和version是package.json中最重要的两个字段也是发布到NPM平台上的唯一标识如果没有正确设置这两个字段包就不能发布和被下载。
version
包的版本号。如1.0.0。
description
包的描述信息将会在npm search的返回结果中显示以帮助用户选择合适的包。
keywords
包的关键词信息是一个字符串数组同上也将显示在npm search的结果中。
homepage
包的主页地址。
bugs
包的bug跟踪主页地址。
license
包的开源协议名称。
author
包的作者。
contributors, maintainers
包的贡献者是一个数组。
files(较少用)
包所包含的所有文件可以取值为文件夹。通常我们还是用.npmignore来去除不想包含到包里的文件。
main
包的入口文件。
bin(较少用)
如果你的包里包含可执行文件通过设置这个字段可以将它们包含到系统的PATH中这样直接就可以运行很方便。
man(较少用)
为系统的man命令提供帮助文档。帮助文件的文件名必须以数字结尾如果是压缩的需要以.gz结尾。
man: [./man/foo.1, ./man/bar.1, ./man/foo.2 ]directories(较少用)
CommonJS包所要求的目录结构信息展示项目的目录结构信息。字段可以是lib, bin, man, doc, example。值都是字符串。
repository
包的仓库地址。
repository: {type: git,url: githttps://github.com/rainnaZR/es6-react.git},scripts
通过设置这个可以使NPM调用一些命令脚本封装一些功能。
scripts: {start: babel-node src/pages/index.js,build: webpack --config config/webpack.config.js,watch: webpack-dev-server --config config/webpack.config.js --hot --inline --progress}config
添加一些设置可以供scripts读取用同时这里的值也会被添加到系统的环境变量中。
config: {port: 8080
}npm start的时候会读取到npm_package_config_port环境变量。
dependencies
指定依赖的其它包这些依赖是指包发布后正常执行时所需要的也就是线上需要的包。使用下面的命令来安装
npm install --save packageName如果是开发中依赖的包可以在devDependencies设置。
devDependencies
这些依赖只有在开发时候才需要。使用下面的命令来安装
npm install --save-dev packageName peerDependencies
相关的依赖如果你的包是插件而用户在使用你的包时候通常也会需要这些依赖插件那么可以将依赖列到这里。
如karma, 它的package.json中有设置依赖下面这些插件
peerDependencies: {karma-jasmine: ~0.1.0,karma-requirejs: ~0.2.0,karma-coffee-preprocessor: ~0.1.0,karma-html2js-preprocessor: ~0.1.0,karma-chrome-launcher: ~0.1.0,karma-firefox-launcher: ~0.1.0,karma-phantomjs-launcher: ~0.1.0,karma-script-launcher: ~0.1.0
}bundledDependencies
绑定的依赖包发布的时候这些绑定包也会被一同发布。
optionalDependencies较少用
即使这些依赖没有也可以正常安装使用。
engines较少用
指定包运行的环境。
engines: {node: 0.10.3 0.12,npm: ~1.0.20
}os较少用
指定你的包可以在哪些系统平台下运行。
os: [ darwin, linux, !win32 ]cpu较少用
可以指定包运行的cpu架构。
private
设为true这个包将不会发布到NPM平台下。
publishConfig较少用
这个字段用于设置发布时候的一些设定。尤其方便你希望发布前设定指定的tag或registry。
如下
{name: react,version: 1.0.0,description: Command line instructions,keywords: [react,es6,react with es6],homepage: https://github.com/rainnaZR/es6-react,bugs: {url: https://github.com/rainnaZR/es6-react,email: 111163.com},license: ISC,author: ZRainna,main: src/pages/index.js,directories: {tests: tests,lib:lib,docs:docs},repository: {type: git,url: githttps://github.com/rainnaZR/es6-react.git},scripts: {start: babel-node src/pages/index.js,build: webpack --config config/webpack.config.js,watch: webpack-dev-server --config config/webpack.config.js --hot --inline --progress},babel: {presets: [es2015-node5]},devDependencies: {webpack: ^1.13.2,webpack-dev-server: ^1.16.1},dependencies: {babel-loader: ^6.2.5,babel-preset-es2015: ^6.14.0,babel-preset-react: ^6.11.1,react: ^15.3.2,react-dom: ^15.3.2,react-redux: ^4.4.5,react-router: ^2.8.1,redux: ^3.6.0}
}