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
。说得好,谢谢,我在答案中添加了一条注释。