【发布时间】:2022-01-10 13:42:46
【问题描述】:
我对 npm 和 node.js 完全陌生,所以如果我没有提供正确的细节,请原谅我。我正在为一个在 npm 中使用开箱即用框架的网站编写插件。当我愉快地编码时它工作正常,但在某个时候它开始尝试编译一个不再存在的文件。
我使用npm run start 编译我的 html 文件(其中还包含所有 javascript 代码)并得到这个错误:
ℹ info Compiler will compile ./src/plugin.html
ℹ info Transpiling with babel
✖ error Error
SyntaxError: unknown: Unexpected token (555:3)
553 |
554 |
> 555 | });
| ^
让我大吃一惊的是./src/plugin.html 中不存在这个简单的语法错误(我已经四次检查了这个事实)。这显然与该文件的早期版本有关。
npm 是否有某种缓存会导致它编译旧版本的文件?我注意到如果我删除了大部分代码,它会再次编译,但是当我替换代码时它会再次中断。似乎如果该文件与其缓存版本有些相似,它会尝试编译缓存版本而不是当前版本。
我尝试使用npm --force cache clear 清除缓存,但没有效果。
有什么建议吗?
【问题讨论】:
-
您是否尝试过删除 node_modules 文件夹并重新安装软件包?
-
确保你的 babel 设置正确。因为大多数时候这与你用来编译你的 javascript 的 babel 版本有关
-
你在 package.json 中的
scripts.start是什么? -
那个错误似乎来自Babel。
-
我删除了
node_modules,然后用npm install重新安装。没有不同。我尝试使用npx babel-upgrade --write升级 babel,没有区别。虽然说句公道话,但它以前可以工作,所以我不知道它会如何突然形成版本不兼容。script.start命令是node ./compiler.js --build --watch --prompt --serve --transpile。还有其他建议吗?
标签: javascript node.js npm