发现个更简单的方法,直接在 package.json
中添加 private: true
更简单粗暴
禁止在项目的根目录执行 npm publish,防止意外发布。该脚本命令仅允许在 prepublishOnly
` 钩子中执行。
因为我的项目都是打包到 dist
目录下,然后再 cd dist
在 dist 目录下执行 npm publish
,所以需要禁止在根目录执行 npm publish
。
因为偶尔会忘记在 dist
目录下执行 npm publish
,所以需要该脚本命令。
我构建后的 package.json
🀄️不包含 scripts
字段,所以仅考虑根目录禁止执行 npm publish
npm install --save-dev pjj
{
"scripts": {
"prepublishOnly": "pjj"
}
}
{
"scripts": {
"prepublishOnly": "pjj -m '请在 dist 目录下执行 npm publish'"
}
}
{
"scripts": {
"prepublishOnly": "pjj -m '请在 dist 目录下执行 npm publish' -b"
}
}
需要注意
- 添加了
-s
命令用于替换默认 prepublishOnly,但是还不知道怎么用,慎用 - 在使用命令
pjj
时,需保证在项目中进行了安装 - 只要将该命令配置到
"prepublishOnly": "pjj"
时,总会在执行npm publish
时阻止执行npm publish
- 该命令仅适用于
npm publish
- 使用该命令请不要使用
npx
调用,除非配置-s npx
命令
{
"scripts": {
"prepublishOnly": "npx pjj -s npx"
}
}