标签: vite-plugin-ssr

VueJS、Typescript 和 VSCode -“相对导入路径需要在 EcmaScript 导入中显式文件扩展名...”

我有一个使用 TypeScript 构建的服务器端渲染的 VueJS 应用程序。应用程序构建得很好,但 VSCode 在解析智能感知的导入路径时遇到了麻烦,从表面上看似乎没有办法解决它。我需要一些帮助。

由于该应用程序是通过vite-plugin-sr在服务器端呈现的,这意味着该应用程序是通用的,并且在任何地方都使用 ESM“导入”样式,即使在服务器端代码中也是如此。它同时具有 commonjs 和 ESM 组件。我使用 vite 构建应用程序,然后使用 ts-node 实际运行它。

tsconfig.json

"compilerOptions": {
  "target": "ES2020",
  "module: "ES2020",
  "moduleResolution": "Node16"
}
...
"ts-node": {
  "esm": true
}
Run Code Online (Sandbox Code Playgroud)

在我的 package.json 中,我必须将type: module整个应用程序设置为像 ESM 一样处理。这就是 VSCode 的主要问题所在。type: module要求在导入路径中手动声明扩展。import { foo } from "./foo.js"。但如果我包括.js或 . ts在导入中,它不再构建,因为这些扩展并不总是存在。但是,如果我再次删除type: module以恢复 VSCode 的智能感知,由于 import 语句,它不再构建。

我被困住了吗?

typescript vue.js vite vite-plugin-ssr

5
推荐指数
1
解决办法
3444
查看次数

标签 统计

typescript ×1

vite ×1

vite-plugin-ssr ×1

vue.js ×1