跑步有两种不同的情况
npm install
:
npm install
npm install
npm
运行您在 postinstall
中指定的 package.json
脚本。
npm
意识到了这种差异,这就是为什么它在第一种情况下安装你的 devDependencies
并在第二种情况下跳过它们。
我需要在我的
postinstall
脚本中了解这一点,例如:
if (DEPENDENCY_MODE) {
// someone added me to their dependencies
// download a Minimal version of some binary
} else {
// I'm being developed by my maintainer
// download a Verbose version of some binary
}
是否有任何全局/环境变量可供我检查以获取此详细信息?
Nodejs 自己的文档从字面上涵盖了您的问题,在第一部分中带有代码:
“Node.js 假定它始终在开发环境中运行。您可以通过设置 NODE_ENV=生产环境变量来向 Node.js 发出您正在生产环境中运行的信号。”
至于如何检查你所处的模式,在你的代码中:
”可以使用条件语句在不同环境下执行代码:”
if (process.env.NODE_ENV === 'development') {
// ...
}
if (process.env.NODE_ENV === 'production') {
// ...
}
if (['production', 'staging'].includes(process.env.NODE_ENV)) {
// ...
}
一定要通读 Nodejs 文档,它们往往已经涵盖了您可能遇到的任何问题。
(注意,没有“依赖模式”这样的东西,它称为“开发模式”)