.env文件修改后不生效

Laravel中修改.env文件后不生效,可能缓存的问题
清缓存就行了

php artisan config:clear
php artisan config:cache
### 正确配置 `import.meta.env` 以读取 `.env` 文件中的变量 为了确保 `import.meta.env` 能够正常读取 `.env` 文件中的变量值,需要按照以下方式进行配置: #### 配置 `.env` 文件 `.env` 文件中定义的所有环境变量必须以 `VITE_` 开头[^1]。这是 Vite 的约定规则,只有这样这些变量才能被注入到客户端代码中并通过 `import.meta.env` 访问。 例如,在项目根目录下的 `.env` 文件可以写成如下形式: ```plaintext VITE_APP_BASE_URL=http://example.com/api VITE_APP_REQUEST_CHANNEL=websocket ``` #### 修改 `vite.config.ts` 在项目的 `vite.config.ts` 中引入并使用 `loadEnv` 函数来加载指定模式下的环境变量[^2]。以下是完整的配置示例: ```typescript import { defineConfig, loadEnv } from 'vite'; export default defineConfig(({ command, mode }) => { // 加载当前运行模式对应的环境变量 const env = loadEnv(mode, process.cwd(), ''); console.log('Environment Variables:', env); return { define: { 'process.env': { VITE_APP_BASE_URL: env.VITE_APP_BASE_URL, VITE_APP_REQUEST_CHANNEL: env.VITE_APP_REQUEST_CHANNEL, }, }, }; }); ``` 上述代码的作用是动态加载不同模式(如开发模式或生产模式)下对应的环境变量文件,并将其映射到构建过程中使用的全局常量上。 #### 使用 `import.meta.env` 在 Vue 组件或其他 JavaScript/TypeScript 文件中可以通过访问 `import.meta.env` 来获取已定义的环境变量[^3]。例如: ```javascript console.log(import.meta.env.VITE_APP_BASE_URL); // 输出 http://example.com/api console.log(import.meta.env.VITE_APP_REQUEST_CHANNEL); // 输出 websocket ``` 如果发现仍然存在无法正确获取的情况,请确认以下几个方面: 1. **环境变量命名是否符合规范**:所有要暴露给前端的变量都需以 `VITE_` 开头。 2. **路径设置无误**:调用 `loadEnv` 方法时传入的工作目录应为项目根目录。 3. **重新启动服务**:每次更改 `.env` 文件后都需要重启开发服务器以便生效。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值