所以我正在尝试构建 javascriptair/site。在 - 的里面package.json
有一个 npm 脚本指向 javascript“命令”package-scripts
。找到该存储库https://github.com/kentcdodds/p-s https://github.com/kentcdodds/p-s。在 Windows 中,它会因 JScript 错误而出错。
Script: C:[path_to_code]\package-scripts.js
Line: 2
Char: 1
Error: Syntax error
Code: 800A03EA
Source: Microsoft JScript compilation error
所以在package.json
,它有的是这个
"scripts": {
"start": "package-scripts"
}
如果我改变package.json
至以下内容:
"scripts": {
"start": "package-scripts.cmd"
}
我可以让服务器启动。所以我的问题是,为什么会发生这种情况,我们该如何改变package.json
使用相同的命令使其跨平台。
这里指出了原因和解决方法:https://github.com/javascriptair/site/issues/98#issuecomment-404420108 https://github.com/javascriptair/site/issues/98#issuecomment-404420108
所以问题是在repo的根目录中有一个js文件,其基本名称与binary相同。 Windows 上的 npm 首先尝试将其作为二进制文件运行,而不是查看 './node_modules/.bin'
因此,要解决问题,只需删除.JS
from PATHEXT
环境变量并重启
我有同样的问题:当有tslint.js
文件位于包的根目录中,npm 脚本位于package.json
只是打电话tslint
, jscript 由 npm 而不是 Node 触发,导致弹出“Microsoft JScript 编译错误”。去除.js
from PATHEXT
helps.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)