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"
  }
}

 

 

 

-

posted @ 2022-06-04 13:21  古墩古墩  Views(137)  Comments(0Edit  收藏  举报