env配置开发、测试、正式环境

        每次打包上传代码都要来回切换不同环境的服务器地址,不仅麻烦,而且经常会弄混乱,导致线上出错。

一、在根目录创建.env文件

具体查看官方文档:模式和环境变量 | Vue CLI

1、开发环境(.env.development)
NODE_ENV = development
VUE_APP_API_URL = 'http://*****'
VUE_APP_SERVER_URL = ''
2、测试环境(.env.test)
NODE_ENV = test
VUE_APP_API_URL = 'http://****'
VUE_APP_SERVER_URL = '/api'
3、正式环境(.env.production)
NODE_ENV = production
VUE_APP_API_URL = 'http://*****'
VUE_APP_SERVER_URL = '/api'
二、修改config.js
const {
  defineConfig
} = require('@vue/cli-service')
module.exports = defineConfig({
  // 打包后的目录
  outputDir: process.env.outputDir,
  // 配置代理服务
  devServer: {
    proxy: process.env.VUE_APP_API_URL,
  }
})
三、配置运行方法(package.json)
"scripts": {
    "start": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint",
    "test": "vue-cli-service build --mode test",   // 打包测试
    "pro": "vue-cli-service build && vue-cli-service build --mode test"  // 打包测试和线上
  },

打包命令为:

test:npm run test

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在 NestJS 中,我们可以使用 `dotenv` 模块来加载环境变量文件,以便在不同的环境中使用不同的配置。在 `env.ts` 文件中,我们可以定义不同环境配置,如下所示: ```typescript import { ConfigModuleOptions } from '@nestjs/config'; const env = process.env.NODE_ENV; const development: ConfigModuleOptions = { envFilePath: '.env.development', }; const production: ConfigModuleOptions = { envFilePath: '.env.production', }; const test: ConfigModuleOptions = { envFilePath: '.env.test', }; const config = { development, production, test, }; export default config[env]; ``` 在上面的代码中,我们首先通过 `process.env.NODE_ENV` 获取当前环境,然后根据不同的环境返回对应的配置。例如,当 `NODE_ENV` 等于 `development` 时,我们使用 `.env.development` 文件中的配置;当 `NODE_ENV` 等于 `production` 时,我们使用 `.env.production` 文件中的配置;当 `NODE_ENV` 等于 `test` 时,我们使用 `.env.test` 文件中的配置。 我们可以在 `main.ts` 文件中通过 `ConfigModule` 模块加载环境变量文件,如下所示: ```typescript import { NestFactory } from '@nestjs/core'; import { ConfigModule } from '@nestjs/config'; import { AppModule } from './app.module'; import config from './env'; async function bootstrap() { const app = await NestFactory.create(AppModule); app.enableCors(); await app.listen(3000); } async function start() { const app = await NestFactory.create(AppModule); app.enableCors(); await app.listen(3000); } async function startWithConfig() { const app = await NestFactory.create(AppModule); app.enableCors(); app.useConfiguredEnvironment(config); // 加载环境变量配置 await app.listen(3000); } start(); // 直接启动应用 // 或者 startWithConfig(); // 加载环境变量配置后启动应用 ``` 上面的代码中,我们定义了三个启动应用的函数 `bootstrap`、`start` 和 `startWithConfig`。其中,`bootstrap` 和 `start` 函数直接启动应用,而 `startWithConfig` 函数先加载环境变量配置,再启动应用。在 `startWithConfig` 函数中,我们通过 `app.useConfiguredEnvironment(config)` 方法加载环境变量配置,该方法会将 `config` 对象中的配置合并到当前的环境变量中。 最后,我们可以在项目根目录下创建 `.env.development`、`.env.production` 和 `.env.test` 等文件,分别存放不同环境下的配置,例如: ``` # .env.development PORT=3000 DB_HOST=localhost DB_PORT=5432 DB_USER=root DB_PASSWORD=123456 DB_NAME=development_db ``` ``` # .env.production PORT=3000 DB_HOST=production_db_host DB_PORT=5432 DB_USER=production_db_user DB_PASSWORD=production_db_password DB_NAME=production_db ``` ``` # .env.test PORT=3000 DB_HOST=test_db_host DB_PORT=5432 DB_USER=test_db_user DB_PASSWORD=test_db_password DB_NAME=test_db ``` 这样,我们就可以在不同的环境中使用不同的配置了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值