我正在从事NodeJs项目,却遇到了这一行:
"scripts": {
"dev": "set NODE_PATH=./lib&& node lib/server.js",
},
据我了解,设置NODE_PATH会更改节点路径,以便require函数可以查找其他路径。如果我尝试在单独的一行中运行SET NODE_PATH =。/ lib,然后运行脚本,它将无法正常工作。
这仅在在线执行时有效吗?
最终如何运作?
在哪里可以找到有关SET函数的文档?
答案 0 :(得分:3)
npm
脚本是shell scripts
,它们在主机的Shell上执行。 set
命令来自主机os
(因此您应检查跨平台兼容性)
这仅在在线执行时有效吗?
是的。 set
为该shell实例设置env变量。它仅适用于该实例及其子外壳。
如果我尝试运行,请在另一行中设置NODE_PATH =。/ lib
我假设这意味着两个不同的脚本命令(因为json不允许多行)。如果是这样,那么这两个脚本将在2个不同的Shell实例中执行,因此您set
中的任何一个都不可用于另一个
最终效果如何?
执行shell脚本
在哪里可以找到有关SET函数的文档?
这是Linux的set
中man
的链接。如果您不使用linux,则可以用Google搜索os
。