更新:正如在问题中解释的那样,这不是重复的,因为我已经尝试在环境变量之前添加set关键字并且没有解决问题.
我正在学习节点并从书中输入示例.第一个示例涉及显示"http"模块如何工作以及如何创建服务器以侦听请求.在某些时候,本书要求将以下行添加到package.json文件的scripts部分:
"server":"SERVERPORT = 3002 node ./fiboserver"
当我尝试使用npm运行服务器运行该示例时,我收到以下错误消息:
"SERVERPORT"未被识别为内部或外部命令
我无法在互联网上找到任何答案,最多我发现我可以尝试:
"server":"设置SERVERPORT = 3002节点./fiboserver"
但这也没有帮助,唯一的区别是,我没有再次收到命令提示,而是显示服务器永远不会运行.
我相信作者使用的是Linux机器,我使用的是Windows 10笔记本电脑.
我真的致力于学习Node,我的工作是在Windows环境中.我相信在package.json上设置环境变量很重要,所以我真的可以使用一些帮助来搞清楚这一点.
谢谢.
在Windows上,必须将设置变量的命令与使用&&操作员运行服务器的变量分开。话虽如此,您必须执行以下操作:
"server": "set SERVERPORT=3002 && node ./fiboserver"
我遇到了同样的问题并使用了以下方法之一。
如果我运行(不使用 npm 包装脚本)
HOST=0.0.0.0 PORT=8000 ./node_modules/.bin/react-scripts start
Run Code Online (Sandbox Code Playgroud)
它工作正常。正如昆汀所说,
一定与 npm 的 shell 方式有关
为了修复它,我去了 package.json 并将“开始”脚本更改为
"start": "./node_modules/.bin/react-scripts start",
Run Code Online (Sandbox Code Playgroud)
然后npm start工作正常。
使用跨环境包。
为此,使用以下命令安装它
npm i cross-env
Run Code Online (Sandbox Code Playgroud)
然后转到 package.json 并将其更改为
"start": "cross-env ./node_modules/.bin/react-scripts start",
Run Code Online (Sandbox Code Playgroud)
然后运行npm start也可以正常工作:
| 归档时间: |
|
| 查看次数: |
5408 次 |
| 最近记录: |