执行npm run dev-server报错‘.’未被识别,如何替换./路径?
解决Windows下npm run dev-server路径报错问题
当然可以替换!你遇到的这个报错是Windows系统和Unix类系统(Linux/macOS)的路径规则差异导致的,而且还有个隐藏问题:直接执行.js文件时,Windows默认不会自动用Node.js去解析它。下面给你几个靠谱的解决办法:
方法1:用npx执行(最推荐,跨平台)
npx会自动帮你找到node_modules里的webpack-dev-server可执行文件,不用写冗长的路径,而且Windows和Unix系统都能正常运行:
"scripts": { "dev-server": "npx webpack-dev-server --config config/webpack.config.js" }
方法2:用node命令直接调用脚本
给路径加上node前缀,这样Windows就能识别要通过Node.js来执行这个.js文件,同时./路径也能被Node正确解析:
"scripts": { "dev-server": "node ./node_modules/webpack-dev-server/bin/webpack-dev-server.js --config config/webpack.config.js" }
甚至可以简化掉./,直接写相对路径:
"scripts": { "dev-server": "node node_modules/webpack-dev-server/bin/webpack-dev-server.js --config config/webpack.config.js" }
方法3:换成Windows兼容的路径格式
把Unix风格的./换成Windows的.\,同时注意JSON里反斜杠需要转义(写两个\\):
"scripts": { "dev-server": ".\\node_modules\\webpack-dev-server\\bin\\webpack-dev-server.js --config config/webpack.config.js" }
不过这个方法只适用于Windows,换去Unix系统又会报错,所以不如前两种通用。
为什么原来的命令会报错?
在Windows的cmd shell里:
./不是有效的相对路径前缀,Windows用.\表示当前目录;- 直接执行
.js文件时,系统不知道要用Node.js去解析它,所以会提示“未被识别为命令”。
内容的提问来源于stack exchange,提问作者NaMo
相关产品推荐
相关产品推荐

