捆绑 Vite 项目后,删除导入中的前导斜杠 (/)

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

在我的项目中,在开发过程中一切都很好,但我的目标应用程序似乎无法正确解析以“/”开头的导入(我正在为本地应用程序开发,而不是为网站/网络应用程序开发)。 如何让Vite仅在构建时省略导入语句开头的

/

例如,如果我的

public
文件夹中有一个文件,我可以像这样导入:

import something from '/file.svg

我需要将其捆绑为:

import something from 'assets/file.svg

但我得到的是:

import something from '/assets/file.svg

我尝试修改

vite.config.js
以包含以下任何内容:

  • base: ''
    ,
  • base: '/'
    ,
  • base: './'
    ,
build vite rollup slash
1个回答
0
投票

检查项目中的Vite版本。旧版本中的

base
选项似乎有问题。

我不知道具体问题。但是这个

base
选项有关。并于 2022 年修复。

更新项目中的Vite及其插件,然后使用空字符串重试。(值

./
也可以根据Vite文档使用)。

请注意,您必须在顶级配置对象上指定

base
选项(不在
build
选项内)。

例如,

vite.config.js
文件的这一部分演示了它:

export default defineConfig({
  plugins: [
    vue(),
  ],
  base: '',
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  build: {...

对于安装在我的机器上的 Vite 版本

5.1.5
,我在输出 (
dist
) 文件夹中得到此结果 HTML 文件:

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