无法使用 Vite.js 更改 Vue 3 中的 publicPath

mar*_*321 13 javascript vue.js vuejs3 vite

我正在尝试更改生产构建的公共路径,但似乎无法使其正常工作。当我进行生产构建时,我想将公共路径从 更改/./,但我在文档中找不到如何执行此操作的任何内容。我使用vite.js作为我的构建工具。也许这是 Vue 3 和 Vite 特有的,我不确定。

我尝试添加vue.config.js文件和.env变量,但到目前为止没有任何效果。

当我构建时,我得到以下输出,路径开头为/

<head>
  <script src="/assets/index.30c61b3b.js"></script>
  <link href="/assets/vendor.29497e16.js">
  <link href="/assets/index.7123a98f.css">
</head>
Run Code Online (Sandbox Code Playgroud)

但对于生产我希望它改为./这样:

<head>
  <script src="./assets/index.30c61b3b.js"></script>
  <link href="./assets/vendor.29497e16.js">
  <link href="./assets/index.7123a98f.css">
</head>
Run Code Online (Sandbox Code Playgroud)

我尝试添加vue.config.js但没有帮助:

module.exports  = {
    publicPath: process.env.NODE_ENV  ===  'production'  ?  './'  :  '/'
}
Run Code Online (Sandbox Code Playgroud)

并且.env

NODE_ENV=production
BASE_URL=./
Run Code Online (Sandbox Code Playgroud)

mar*_*321 12

我找到了答案,我需要添加一个base选项,vite.config.js如下所示:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

export default defineConfig({
    plugins: [
        vue({
            reactivityTransform: true
        })
    ],

    base: './',
})

Run Code Online (Sandbox Code Playgroud)

https://vitejs.dev/config/#base