前端项目打包后报错 Uncaught ReferenceError: process is not defined
·
原因是在客户端(浏览器端)返回了构建环境(node环境)的变量。
需要把环境变量映射到客户端。
如果是vite直接用import.meta.env访问变量,如果是其他的框架需要在对应配置文件内映射环境变量。
如nuxt需要在nuxt.config.js:
runtimeConfig: {
public: {
// baseURL: "http://industry-dev.xunnan.net/app-dev-api/api" || "/api",
baseURL: process.env.NUXT_PUBLIC_API_BASE || "/api",
apiURL: process.env.NUXT_PUBLIC_API_URL,
env: process.env.NUXT_PUBLIC_ENV,
},
},
用useRuntimeConfig访问变量。
如ice.js需在ice.config.mts:
export default defineConfig(() => ({
define: {
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV ?? 'production'),
'process.env.MODE_ENV': JSON.stringify(process.env.MODE_ENV ?? process.env.NODE_ENV ?? 'production'),
'process.env.ICE_API_BASE_URL': JSON.stringify(process.env.ICE_API_BASE_URL ?? '/api'),
'process.env.ICE_API_TIMEOUT': JSON.stringify(process.env.ICE_API_TIMEOUT ?? '10000'),
'process.env.ICE_APP_TITLE': JSON.stringify(process.env.ICE_APP_TITLE ?? '城市助手'),
'process.env.ICE_MOCK_ENABLED': JSON.stringify(process.env.ICE_MOCK_ENABLED ?? 'false'),
},
}));
process.env访问变量
更多推荐
所有评论(0)