我对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
清除缓存,但没有效果。
有什么建议吗?
答案 0 :(得分:0)
对于使用npm编译代码时遇到类似问题的任何人,我发现我的问题确实是一个简单的语法错误。但是,似乎npm对真正的编译错误感到困惑。它指向的是文件中不存在的代码行,我也不知道它是从哪里得到的。
在这种特殊情况下,导致语法错误的原因是缺少};
以关闭一组包装的函数。
因此,看来这课不是要对npm理解哪些语法错误引起编译错误的能力给予过多信任。
答案 1 :(得分:0)
您是否尝试使用rebuild或类似的东西或由npm --force cache clear插入的npm cache clean?
答案 2 :(得分:0)
我能够摆脱这种情况的唯一方法是: