.env在我的 Vite 项目中使用以下内容:
# To prevent accidentally leaking env variables to the client, only
# variables prefixed with VITE_ are exposed to your Vite-processed code
VITE_NAME=Wheatgrass
VITE_PORT=8080
Run Code Online (Sandbox Code Playgroud)
我怎样才能VITE_PORT在我的vite.config.js?
Mat*_*att 13
您可以加载app levelenv 变量并将它们添加到Node levelenv 变量中:
import { defineConfig, loadEnv } from 'vite';
import vue from '@vitejs/plugin-vue';
export default ({ mode }) => {
process.env = {...process.env, ...loadEnv(mode, process.cwd())};
// import.meta.env.VITE_NAME available here with: process.env.VITE_NAME
// import.meta.env.VITE_PORT available here with: process.env.VITE_PORT
return defineConfig({
plugins: [vue()],
server: {
port: process.env.VITE_PORT,
},
});
}
Run Code Online (Sandbox Code Playgroud)
如果 @matt 的上述解决方案不适合您,请更改vite.config.ts/vite.config.js如下所示
第一个解决方案
import { defineConfig, loadEnv } from 'vite';
import vue from '@vitejs/plugin-vue';
export default defineConfig(({ mode }) => {
const env = loadEnv(
'mock',
process.cwd(),
''
)
const processEnvValues = {
'process.env': Object.entries(env).reduce(
(prev, [key, val]) => {
return {
...prev,
[key]: val,
}
},
{},
)
}
return {
plugins: [vue()],
define: processEnvValues
}
}
Run Code Online (Sandbox Code Playgroud)
第二种解决方案
import { defineConfig, loadEnv } from 'vite';
import vue from '@vitejs/plugin-vue';
export default ({ mode }) => {
process.env = Object.assign(process.env, loadEnv(mode, process.cwd(), ''));
return defineConfig({
plugins: [vue()],
});
}
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用 dotenv
https://github.com/motdotla/dotenv#readme
在你的vite.config.js
import dotenv from 'dotenv'
dotenv.config()
process.env.YOUR_ENV_VAR
Run Code Online (Sandbox Code Playgroud)
如果您正在寻找更简单的解决方案,您可以执行以下操作:
import { defineConfig, loadEnv } from 'vite';
const env = loadEnv(
'all',
process.cwd()
);
let port = env.VITE_PORT;
Run Code Online (Sandbox Code Playgroud)
类型loadEnv签名详细信息如下:
function loadEnv(
mode: string,
envDir: string,
prefixes: string | string[] = 'VITE_',
): Record<string, string>
Run Code Online (Sandbox Code Playgroud)
VITE_默认情况下,除非更改,否则仅加载前缀为 的环境变量prefixes。
| 归档时间: |
|
| 查看次数: |
4536 次 |
| 最近记录: |