Skip to main content

包管理

package.json

下面会提到一些常见的配置,更详细的内容需要参考 npm 官方文档

{
// 包的唯一标识,npm view <包名> 查看是否被占用
"name": "",
// 遵循语义化版本规范 SemVer
"version": "",
/******* 描述信息 *******/
"description": "",
"keywords": [],
"author": "",
"contributors": [],
"homepage": "",
// github issues 或邮箱
"bugs": {
"url": ""
},
"repository": {
"type": "git",
"url": ""
},
/******* 脚本配置 *******/
"scripts": {
"start": "",
"build": "",
"test": ""
},
// 配置脚本中使用的环境变量
"config": {
// 通过 process.env.npm_package_config_port 获取
"port": "8080"
},
/******* 依赖配置 *******/
// 项目依赖
"dependencies": {},
// 开发依赖;使用npm包时不会安装这些依赖
"devDependencies": {},
// 提示宿主环境安装指定版本的依赖
"peerDependencies": {},
"optionalDependencies": {},
"bundledDependencies": {},
// 指明 node 或 npm 的版本
"engines": {},
/******* 文件 *******/
// 程序入口
"main": "",
"browser": "",
// npm 包的 ESM 规范的入口文件
"module": "",
// 指定可执行文件的位置
"bin": {
"jupiter": ""
},
// 描述 npm publish 后推送到 npm 服务器的文件列表,或者用 .npmignore
"files": [],
// 规范项目目录
"directories": {},
// Linux 中的帮助指令
"man": [],
/******* 发布配置 *******/
// 私有包不允许发布到 npm 仓库
"private": false,
// 发布模块时更详细的配置
"publishConfig": {
// 配置发布包的 npm 仓库
"registry": ""
},
// 表明该项目需要全局安装
"preferGlobal": true,
"os": [],
"cpu": [],
"license": "",
/******* 第三方配置 *******/
// 指定 typescript 的入口文件
"typings": "types/index.d.ts",
"eslintConfig": {},
"lint-staged": {},
"gitHooks": {
"pre-commit": "lint-staged"
},
"babel": {},
// 设置浏览器的兼容情况
"browserslist": {
"production": [">0.2%", "not dead", "not op_mini all"],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}