首页 > 其他分享 >package.json 配置详解

package.json 配置详解

时间:2023-03-29 10:44:35浏览次数:47  
标签:npm package 指定 js json 详解 https my

package.json配置说明详解

基础配置

{
  "name": "my-package", // 包名 必填字段
  "version": "1.0.0", // 版本号 必填字段
  "description": "This is my first npm package.", // 描述信息
  "keywords": [   // 关键词,用于搜索和分类。
    "npm",
    "package",
    "example"
  ],
  "homepage": "https://github.com/user/repo#readme", // 项目主页链接
  "bugs": { // 报告问题的链接
    "url": "https://github.com/user/repo/issues"
  },
  "repository": { // 代码仓库信息
    "type": "git",
    "url": "https://github.com/user/repo.git"
  },
  "license": "MIT", // 许可证信息
  "author": { // 作者信息
    "name": "John Doe",
    "email": "johndoe@example.com",
    "url": "https://johndoe.com"
  },
  "main": "src/index.js", //入口文件
  "bin": { // 用于指定命令行程序的入口文件路径,通常用于全局安装的包。
    "my-cli": "./bin/my-cli.js"
  },
  "type": "module", //指定包的类型。
  "files": [ // 指定需要打包到发布的包中的文件。
    "lib/",
    "index.js",
    "README.md"
  ],
  "engines": { // 指定 Node.js 和 npm 的版本要求
    "node": ">=10.0.0",
    "npm": ">=6.0.0"
  },
  "os": [ // 指定支持的操作系统
    "darwin",
    "linux"
  ],
  "cpu": [ // 指定支持的 CPU 架构
    "x64",
    "arm"
  ],
  "peerDependencies": { // 指定依赖的版本范围
    "react": "^16.8.0",
    "react-dom": "^16.8.0"
  },
  "optionalDependencies": { // 指定可选依赖。
    "canvas": "^2.0.0"
  },
  "resolutions": { // 指定依赖的版本解析规则。
    "some-package": "2.x"
  },
  "dependencies": { // 项目的依赖包
    "react": "^16.8.0",
    "react-dom": "^16.8.0"
  },
  "devDependencies": { // 项目的开发依赖包
    "babel": "^7.0.0",
    "webpack": "^4.0.0"
  },
  "scripts": { //自定义脚本命令,使用 npm run 执行
    "start": "node index.js",
    "test": "jest",
    "build": "webpack"
  },
  "workspaces": [ // 指定工作区的配置,用于管理多个包
    "packages/*"
  ],
  "publishConfig": { // 发布到 npm 的配置
    "access": "public",
    "registry": "https://registry.npmjs.org/"
  },
  "private": true, // 标记是否为私有包
  "enginesStrict": true //指定 Node.js 和 npm 的版本要求,严格模式
}

代码校验、检测配置

使用了 ESLint、Prettier、Jest 和 Husky

{
  "name": "my-package",
  // ...
  "devDependencies": {
    "@babel/core": "^7.0.0",
    "@babel/preset-env": "^7.0.0",
    "@babel/preset-react": "^7.0.0",
    "babel-jest": "^26.6.3",
    "eslint": "^7.24.0",
    "eslint-config-prettier": "^8.3.0",
    "eslint-plugin-prettier": "^3.4.0",
    "jest": "^26.6.3",
    "prettier": "^2.2.1",
    "husky": "^6.0.0"
  },
  "scripts": {
    "start": "node index.js",
    "test": "jest",
    "build": "webpack",
    "lint": "eslint src/**/*.{js,jsx}",
    "format": "prettier --write src/**/*.{js,jsx}"
  },
  "husky": {
    "hooks": {
      "pre-commit": "npm run lint && npm run format && git add ."
    }
  },
  // ...
}

标签:npm,package,指定,js,json,详解,https,my
From: https://www.cnblogs.com/optre/p/17268010.html

相关文章

  • Mybatis-Plus自定义TypeHandler映射JSON类型为List
    1.实体类注意点:别忘了autoResultMap=true@Data@TableName(value="report",autoResultMap=true)publicclassReportimplementsSerializable{privates......
  • Android系统服务DropBoxManagerService详解与实践应用
    作者:vivo互联网客户端团队-MaLian借助系统DropBoxManagerService对于系统文件目录dropbox管理的设计,了解其文件管理的规则、运行机制、读写机制、管控机制,根据其设计一个......
  • NCNN 模型推理详解及实战
    一,依赖库知识速学aarch64OpenMPAVX512submoduleaptupgrade二,硬件基础知识速学2.1,内存2.2,CPU三,ncnn推理模型3.1,shufflenetv2模型推理解析3.2,网络推理......
  • Camel详解
     ApacheCamel测试指南https://www.cnblogs.com/d1012181765/p/15338830.html Camel中的转换:如何进行https://www.cnblogs.com/d1012181765/p/15339030.html ......
  • JSON 数组对象获取 其中某个属性的值
    importcn.hutool.json.JSONArray;importcn.hutool.json.JSONObject;importcn.hutool.json.JSONUtil;publicstaticvoidmain(String[]args){Strings......
  • 【入门】Go语言数组详解
    目录一、Go语言数组简介1.1什么是数组?1.2数组声明语法二、数组的基本操作2.1数组的定义及赋值2.2数组的初始化2.2.1指定长度初始化2.2.2不指定长度初始化2.2.3根据......
  • 第六篇 TypeScript 【 typeScript 编译上下文 tsconfig.json 】
    typeScript编译上下文tsconfig.json的作用1、用于标识TypeScript项目的根路径2、用于配置TypeScript编译器3、用于指定编译的文件tsconfig.json重要字段1......
  • javascript 使用json 将js 数据转换成json
     如果是字符串格式的话接的先解析成jsonvarjsonList=pm.response.text();varjson=JSON.parse(jsonList);console.log(json);console.log(json.has_more);varres={"......
  • hbase shell 基础和常用命令详解
    HBase是一个分布式的、面向列的开源数据库,源于google的一篇论文《bigtable:一个结构化数据的分布式存储系统》。HBase是GoogleBigtable的开源实现,它利用HadoopHDFS作为其......
  • iOS自动打包 Swift Package 报错记录
      使用脚本自动打包iOSipa时,如果三方库有更新,swiftpakege加载库时报错,多半是git账号信息问题,钥匙串访问问题,尤其是有私有库存在时报错信息:1.errSecInternalComponen......