Skip to content
索引

package.json

创建package.json

sh
# 使用输入的方式初始化配置package.json
npm init
# 使用默认参数创建package.json文件
npm init --yes
# 上方简写
npm init -y
# 使用输入的方式初始化配置package.json
npm init
# 使用默认参数创建package.json文件
npm init --yes
# 上方简写
npm init -y

files

这个不是必选项, 也并不常见, 但是很重要, 因为有配置这个信息会显得非常专业

files是一个数组, 它描述了你 npm publish的时候推送到npm服务器的文件列表,支持目录和通配 比如

json
"files": [
    "LICENSE",
    "History.md",
    "Readme.md",
    "index.js",
    "lib/"
  ],
"files": [
    "LICENSE",
    "History.md",
    "Readme.md",
    "index.js",
    "lib/"
  ],

反过来, 你可以通过一个 .npmignore 文件来排除一些文件, 防止大量的垃圾文件推送到npm, 规则上和你用的gitignore是一样的.

Tips 如果你的项目下有 .gitignore 文件, 那么它也能充当**.npmignore的功能. 这意味着, 如果没有特别的需求, 一个.gitignore**就行了.

packageManager

定义处理当前项目时预期使用的包管理器。该领域目前处于试验阶段,应选择使用;查看https://nodejs.org/api/corepack.html

json
"packageManager": "pnpm@7.26.1",
"packageManager": "pnpm@7.26.1",

pnpm

pnpm忽略下载依赖包丢失的警告

json
 "pnpm": {
    "peerDependencyRules": {
      "ignoreMissing": [
        "@algolia/client-search"
      ]
    }
  },
 "pnpm": {
    "peerDependencyRules": {
      "ignoreMissing": [
        "@algolia/client-search"
      ]
    }
  },

simple-git-hooks

git钩子,例如如下示例、表示commit前会先调用lint-staged

json
  "simple-git-hooks": {
    "pre-commit": "pnpm lint-staged"
  },
  "simple-git-hooks": {
    "pre-commit": "pnpm lint-staged"
  },

lint-staged

搭配simple-git-hooks,所有文件使用prettier进行格式化

json
 "lint-staged": {
    "*": [
      "prettier --write --ignore-unknown"
    ]
  }
 "lint-staged": {
    "*": [
      "prettier --write --ignore-unknown"
    ]
  }

types

将types属性设置为指向绑定的声明文件

json
 "types": "types/index.d.ts",
 "types": "types/index.d.ts",

Released under the MIT License.