Vite 模块加载器缺少文件扩展名

问题描述 投票:0回答:1

在 Sveltekit 应用程序(使用 Vite)中,我使用一个库,它的 dist 文件夹中有这样的导出:

我的应用程序/node_modules/some-lib/dist/foo/index.js

export * from './some-component

所以它是存在于该文件夹中的js文件的相对路径。

我将其导入到我的项目中,如下所示:

import 'some-lib/dist/foo';

启动开发服务器或构建产品时,我收到消息,找不到该文件

my-app/node_modules/some-lib/dist/foo/some-component
- 并且找不到该文件,因为缺少 .js 扩展名。如果我在组件库的 index.js 文件中的导出中添加 .js 文件扩展名,那么它就可以工作。 我还可以说,相对导入工作得很好,在我的项目文件中没有任何文件扩展名。但是我的 node_modules 文件夹中的组件库有一些问题。 在 Vite 中定义解析配置也没有帮助。

有什么想法可以在不编辑组件库的情况下解决这个问题吗?

import components export vite
1个回答
0
投票

该问题很可能是由vite SSR步骤引起的。编辑您的

vite.config.ts

... defineConfig({
  plugins: [ ... ],
  ssr: {
    noExternal: [
      "some-lib,
    ],
  },
})

类似问题:https://github.com/vitejs/vite/discussions/16190

© www.soinside.com 2019 - 2024. All rights reserved.