运行组合npm脚本时出错:执行npm run build提示‘.’未被识别
解决npm run build时的路径识别错误问题
这个报错的核心原因很明确:你应该是在Windows系统上运行脚本,而Windows的默认命令行(CMD)不认识Unix风格的./相对路径写法,而且npm在Windows下默认用CMD执行脚本,自然就识别不了./node_modules/.bin/babel这个路径了。
给你几个实用的解决方案,按推荐程度排序:
最推荐:用npx调用babel(跨平台友好)
直接修改你的build脚本,把全路径换成npx babel,npx会自动帮你找到node_modules目录下的babel可执行文件,不管是Windows还是Linux/macOS都能正常工作:"scripts": { "clear": "rimraf lib", "build": "npm run clear && npx babel --out-dir lib src" }仅Windows适用:改用Windows风格路径
如果不想用npx,可以把路径改成Windows的反斜杠写法:"scripts": { "clear": "rimraf lib", "build": "npm run clear && node_modules\\.bin\\babel --out-dir lib src" }但这种写法在Unix系统(Linux/macOS)上会失效,所以只适合固定在Windows环境开发的场景。
进阶方案:让npm用bash执行脚本
如果你经常需要在Windows上运行Unix风格的命令,可以配置npm使用Git Bash或者WSL的bash作为脚本执行shell。打开终端执行:npm config set script-shell "C:\\Program Files\\Git\\bin\\bash.exe"(路径要换成你Git Bash的实际安装路径),这样之后npm脚本就会用bash执行,
./路径就能正常识别了。
改完之后再运行npm run build,应该就能正常完成清理和编译流程啦~
内容的提问来源于stack exchange,提问作者tfuelber
相关产品推荐
相关产品推荐

