package.json配置说明
-
{ "name": "projectname", // 项目名称(必须) <=214个字符、不能以. _ 开头,不能有大写字母 "version": "0.0.1", // 版本号(必须) "description": "antd-theme", // 描述信息,有助于在npm库中搜索发现你的模块 "keywords": [ // 关键词,有助于在npm库中搜索发现你的模块 "node.js", "antd", "theme" ], "homepage": "https://xxx.com", // 项目主页地址 "bugs": { // 用于项目问题的反馈,issue地址或邮箱 "url" : "https://github.com/owner/project/issues", "email" : "project@hostname.com" }, "license": "ISC", // 当前项目的协议,让用户知道他们有何权限来使用你的模块,以及使用该模块有哪些限制 // "author": "authorname xxx@xx.com (https://xxx.com/)", // 作者信息可以写成一个字符串 "author": { // 作者信息 "name" : "authorname", "email" : "xxx@xx.com", "url" : "https://xxx.com/" }, "contributors": [ // 项目参与者 { "name" : "authorname", "email" : "xxx@xx.com", "url" : "https://xxx.com/" } ], "files": "", // 项目包含的文件夹或文件,与.gitignore的写法相同 "main": "./dist/default.js", // 模块入口文件, require导入时就会加载这个文件,默认入口文件是根目录下的index.js "bin": "", // 用来指定每个内部命令对应的可执行文件的位置 // "bin": { // "webpack": "bin/index.js", // 当我们执行webpack命令的时候就会执行bin/index.js文件中的代码 // }, "man": "", // 用来指定当前模块的man文档的位置 // "man" :[ "./doc/calc.1" ] "directories": "", // 制定一些方法来描述模块的结构, 用于告诉用户每个目录在什么位置 "repository": { // 代码仓库地址 "type": "git", "url": "https://path/to/url" }, "scripts": { // 指定了运行脚本命令的npm命令行缩写 比如npm run start "start": "webpack serve --config webpack.config.dev.js --progress" }, "config": { // 用于添加命令行的环境变量。 然后,在server.js脚本就可以引用config字段的值。console.log(process.env.npm_package_config_port); // 8080 "port": "8080" }, "dependencies": {}, // 指定了项目运行所依赖的模块 --save "devDependencies": { // 指定项目开发所需要的模块 --save-dev "@babel/core": "7.14.3", // 固定版本 "@babel/preset-env": "~7.14.4", // 固定前两位版本号,第三位版本号用最新的 安装7.14.x的最新版本 "@babel/preset-react": "^7.13.13", // 固定第一位版本号,第二位和第三位都用最新的 安装7.x.x的最新版本 "babel-loader": "latest", // 安装最新版本 }, "peerDependencies": { // 如果当前模块与所依赖的模块同时依赖一个第三方模块,并且依赖的是两个不兼容的版本时就会出现问题。在这里指定模块的兼容版本 "tea": "2.x" }, "bundledDependencies": [ // 指定发布的时候会被一起打包的模块. "renderized", "super-streams" ], "optionalDependencies": {}, // 这里边写的模块安装失败不会导致npm install失败 "engines": { // 指明了该模块运行的平台,比如Node或者npm的某个版本或者浏览器 "node" : ">=0.10.3 <0.12", "npm" : "~1.0.20" }, "os": [ // 指定你的模块只能在哪个操作系统上运行 "win32", // windows "darwin", // MacOSX "linux" // linux ], "cpu": [ // 限制模块只能在某种架构的cpu下运行 "x64", "ia32" ], "private": true, // 是否是私有的,如果设置为true,npm会拒绝发布 "publishConfig": { // 这个配置是会在模块发布时生效,用于设置发布用到的一些值的集合。如果你不想模块被默认标记为最新的,或者默认发布到公共仓库,可以在这里配置tag或仓库地址。 "tag": "1.0.0", "registry": "https://registry.npmjs.org/", "access": "public" }, "preferGlobal": false, // 表示用户没把该模块安装为全局模块时(即不用–global参数),要不要显示警告,表示该模块的本意就是安装为全局模块。 "browser": { // 指定该模板供浏览器使用的版本。 Browserify这样的浏览器打包工具,通过它就知道该打包那个文件。 "tipso": "./node_modules/tipso/src/tipso.js" } }
-