1

使用 vue-cli 可以像这样配置 webpack devServer.before函数:

devServer: {
    before(app) {
      app.get('/apiUrl', (req, res) => res.send(process.env.API_URL))
    }
  },

如何配置Vite 开发服务器以获得相同的行为?

(我尝试了该proxy选项,但它不起作用。)

4

1 回答 1

0

根据这个 github 问题,环境变量在文件中不可访问vite.config.js(在 也不在vite.config.ts)。但是,此问题中的讨论还提到了您可以在此文件中使用的解决方法:

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

export default defineConfig(({mode}) => {
  const env = loadEnv(mode, process.cwd());
  return {
  plugins: [
    vue(),
  ],
  server: {
    proxy: {
      '^/apiUrl': {
        target: env.VITE_API_TARGET,
        changeOrigin: true,
      }
    }
  },
}
})

请注意,变量名称必须以此开头VITE_才能起作用。

于 2021-04-06T12:32:06.713 回答