Vetur 错误 2300 重复标识符“(缺失)”
Vetur error 2300 Duplicate identifier '(Missing)'
我在打字稿 nuxt.js 应用程序中遇到 Vetur 的奇怪错误。它在所有组件的第一行显示此错误消息,无论它是空行还是有标记。
我不确定这个错误是什么时候开始出现的,或者它是什么意思?
任何帮助将不胜感激,非常感谢!
原来这是因为Vetur实验templateInterpolationService
属性。通过在 vetur.config.js
文件中将其变为 false
:
module.exports = {
settings: {
/* .. */
'vetur.experimental.templateInterpolationService': false
/* .. */
}
};
Vetur 停止了对我的组件的意外干扰。
接受的答案就像手指受伤时砍掉你的手臂!如果您禁用 templateInterpolationService
,您将失去 Vetur 的很大一部分价值。
对我来说 Vetur v0.35.0 在我升级时坏了 typescript > 4.4
您可以通过在项目根目录中输入 npm ls typescript
来检查您使用的是哪个版本的打字稿。
如果您 运行宁 typescript
4.4.4
(或更低),试试这个:
重新启动 Vue Lanaguage 服务器(在 VSCode 中):
查看 ->
命令面板.. ->
Vetur:重启 VLS(Vue 语言服务器)
如果您 运行宁 typescript
4.5
或更高,您可能会 运行 进入此错误。仍在努力寻找解决此问题的方法。
或者,要强制您的环境全面使用旧版本的打字稿,您可以确保您的 npm 版本为 8.3+ 并使用 package.json 的新“覆盖”部分:
...
"overrides": {
"typescript": "4.4.4"
},
...
确保 vscode <=4.4.4
的 gloabal ts 版本。使用更新的 typescript
可能是一些依赖项(如 @microsoft/api-extractor
)。
正在创建 vetur.config.js
。在 settings
中设置 "vetur.useWorkspaceDependencies": "false"
。示例:
module.exports = {
settings: {
"vetur.useWorkspaceDependencies": false,
"vetur.experimental.templateInterpolationService": true
}
}
正在检查 Vue Language Server
中的 vscode 输出面板,可能:
[INFO ] Find node_modules paths in xxxxxxx - 247ms
[INFO ] Loaded bundled typescript@4.4.4.
[INFO ] Loaded bundled prettier.
[INFO ] Loaded bundled @starptech/prettyhtml.
[INFO ] Loaded bundled prettier-eslint.
[INFO ] Loaded bundled prettier-tslint.
[INFO ] Loaded bundled stylus-supremacy.
[INFO ] Loaded bundled @prettier/plugin-pug.
成功!
我在打字稿 nuxt.js 应用程序中遇到 Vetur 的奇怪错误。它在所有组件的第一行显示此错误消息,无论它是空行还是有标记。
我不确定这个错误是什么时候开始出现的,或者它是什么意思?
任何帮助将不胜感激,非常感谢!
原来这是因为Vetur实验templateInterpolationService
属性。通过在 vetur.config.js
文件中将其变为 false
:
module.exports = {
settings: {
/* .. */
'vetur.experimental.templateInterpolationService': false
/* .. */
}
};
Vetur 停止了对我的组件的意外干扰。
接受的答案就像手指受伤时砍掉你的手臂!如果您禁用 templateInterpolationService
,您将失去 Vetur 的很大一部分价值。
对我来说 Vetur v0.35.0 在我升级时坏了 typescript > 4.4
您可以通过在项目根目录中输入 npm ls typescript
来检查您使用的是哪个版本的打字稿。
如果您 运行宁 typescript
4.4.4
(或更低),试试这个:
重新启动 Vue Lanaguage 服务器(在 VSCode 中):
查看 ->
命令面板.. ->
Vetur:重启 VLS(Vue 语言服务器)
如果您 运行宁 typescript
4.5
或更高,您可能会 运行 进入此错误。仍在努力寻找解决此问题的方法。
或者,要强制您的环境全面使用旧版本的打字稿,您可以确保您的 npm 版本为 8.3+ 并使用 package.json 的新“覆盖”部分:
...
"overrides": {
"typescript": "4.4.4"
},
...
确保 vscode <=4.4.4
的 gloabal ts 版本。使用更新的 typescript
可能是一些依赖项(如 @microsoft/api-extractor
)。
正在创建 vetur.config.js
。在 settings
中设置 "vetur.useWorkspaceDependencies": "false"
。示例:
module.exports = {
settings: {
"vetur.useWorkspaceDependencies": false,
"vetur.experimental.templateInterpolationService": true
}
}
正在检查 Vue Language Server
中的 vscode 输出面板,可能:
[INFO ] Find node_modules paths in xxxxxxx - 247ms
[INFO ] Loaded bundled typescript@4.4.4.
[INFO ] Loaded bundled prettier.
[INFO ] Loaded bundled @starptech/prettyhtml.
[INFO ] Loaded bundled prettier-eslint.
[INFO ] Loaded bundled prettier-tslint.
[INFO ] Loaded bundled stylus-supremacy.
[INFO ] Loaded bundled @prettier/plugin-pug.
成功!