Javascript 未拾取Package.json变量

Javascript 未拾取Package.json变量,javascript,node.js,Javascript,Node.js,我有以下功能,可以根据终端中运行的命令本地加载一些缺货的产品: const updates = process.env.option === "oos" ? oosUpdates : insUpdates log.info("updates: ", JSON.stringify(updates)) const result = await loadUpdateVariants(cache, updates as UpdateType[]) 在my pac

我有以下功能,可以根据终端中运行的命令本地加载一些缺货的产品:

const updates = process.env.option === "oos" ? oosUpdates : insUpdates
log.info("updates: ", JSON.stringify(updates))
const result = await loadUpdateVariants(cache, updates as UpdateType[])
在my package.json中,我有:

"update:oos": "ts-node src/loaders/mock/update-variants.ts --option oos",
"update:ins": "ts-node src/loaders/mock/update-variants.ts --option ins"

但是,当我运行
warn update:oos
时,我得到了
instock
产品,这意味着这个
process.env.option==“oos”
工作不正常。

process.env
允许您访问环境变量。如果要使用环境变量,可以如下设置:

“更新:oos”:“OPTION=oos ts node src/loaders/mock/update variants.ts”,
“更新:ins”:“选项=ins ts节点src/loaders/mock/update variants.ts”

这是“普通的”(没有任何额外的依赖项)方法,但在Windows上可能会遇到问题。如果你希望你的命令能很好地跨平台,你可以考虑使用< /p>这是否回答了你的问题?不
--option
继续
process.argv
而不是
process.env
?不要这样设置环境变量,跨平台不支持它。改用
cross-env
。说得好,谢谢,我在答案中添加了一条注释。