Node.js命令行工具运行报错:JScript编译错误800A03F6求助
解决Node.js命令行工具的JScript编译错误问题
这个800A03F6的编译错误,本质是Windows系统把你的JS文件当成微软的JScript脚本执行了,而不是交给Node.js处理,主要是几个细节没做到位:
修复shebang行的格式:你把
#!/usr/bin/env node和'use strict';写在了同一行,这会直接触发语法错误。shebang必须单独占第一行,正确的代码应该是:#!/usr/bin/env node 'use strict'; (function main() { console.log('Hello World!'); })();修正package.json的拼写:你提到的是
packages.json,但npm只识别package.json(少一个"s"),这个拼写错误会导致npm无法读取你的bin配置。确保文件编码为UTF-8无BOM:Windows下如果JS文件带UTF-8 BOM,JScript解析时会把BOM当成无效字符触发错误,用编辑器(比如VS Code)将文件保存为「UTF-8 无BOM」格式。
执行npm link注册全局命令:在项目根目录运行
npm link,把你的test命令注册到系统全局,这样执行test时才会调用Node.js运行脚本,而不是用JScript打开文件。
做完这些步骤后,再执行test命令,应该就能正常输出Hello World了!
内容的提问来源于stack exchange,提问作者rycirese




