环境地址切换

  • 首先来说一下都有什么环境
    本地环境
    测试环境
    灰度环境
    预发布环境
    生产环境
  • 有两种方案去解决环境接口地址切换
    第一种:通过cross-evn配合webpack来进行配置,还需要node
    可以去参考https://www.npmjs.com/package/cross-env
    1.先进行下载使用命令npm install --save-dev cross-env
    2.在package.json中的script标签里面配置环境变量
    读取环境变量: process.env.环境变量的名称
"scripts": {
    "serve": " cross-env BUILD_ENV=dev vue-cli-service serve",
    "build": " cross-env BUILD_ENV=prod vue-cli-service build",
  },

3.在vue.config.js中配置添加自定义的环境变量

module.exports = {
//   lintOnSave: false,
  chainWebpack: config => {
    config
      .plugin('define')
      .tap(args => {
        console.log(args) // [ { 'process.env': { NODE_ENV: '"development"', BASE_URL: '"/"' } } ]
        // 由于环境变量里面没有我们在package.json中添加的环境变量BUILD_ENV所以我们进行了添加:
        console.log('process:', process.env.BUILD_ENV)
        args[0]['process.env'].BUILD_ENV = JSON.stringify(process.env.BUILD_ENV)
        return args
      })
  }
}

4.接着再src文件中见一个build文件然后在里面建一个dev.js和prod.js(注意这两个文件名要和package.json中配置的环境变量要一致)
在两个文件中配置url例如:

module.exports = {
  BASE_URL: 'http://test.365msmk.com'
}

5.接着在封装的axios中写上这样可以自动切换

console.log('process:', process.env.BUILD_ENV)  //prod||dev
const confi = require(`../build/${process.env.BUILD_ENV}.js`)
const service = axios.create({
  baseURL: confi.BASE_URL,
  timeout: 2500
})

第二种:
通过https://cli.vuejs.org/zh/guide/mode-and-env.html可以了解
“scripts”: {
“serve”: “vue-cli-service serve”, //development模式 默认
“build”: " vue-cli-service build", //production模式 线上模式
},
1.在文件中建类似于.env.development的文件前面的.evn不变只变后面的文件名一般development,production模式名字
在文件中写环境变量

NODE_ENV=环境名称   (production)
VUE_APP_自定义名称
VUE_APP_name=test

2.然后通过在package.json文件中写上类似于这样

"dev-build": "vue-cli-service build --mode development",
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想在浏览器中使用 npm 包,可以通过将 npm 包转换为 umd 模块的方式,然后通过 script 标签的 src 属性来引用,具体步骤如下: 1. 首先安装 rollup 和 rollup-plugin-node-resolve: ``` npm install rollup rollup-plugin-node-resolve -D ``` 2. 创建一个 rollup 的配置文件 rollup.config.js,用于将 npm 包转换为 umd 模块: ```js import resolve from '@rollup/plugin-node-resolve'; export default { input: 'src/index.js', output: { file: 'dist/my-npm-package.js', format: 'umd', name: 'MyNpmPackage' }, plugins: [ resolve() ] }; ``` 这里的 input 是 npm 包的入口文件,output 是输出的 umd 模块的文件名和格式,plugins 中使用了 rollup-plugin-node-resolve 插件来支持解析 npm 包中的依赖关系。 3. 执行 rollup 命令将 npm 包转换为 umd 模块: ``` npx rollup -c rollup.config.js ``` 4. 在 HTML 文件中使用 script 标签引入 umd 模块: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>My Npm Package Example</title> </head> <body> <h1>My Npm Package Example</h1> <script src="./dist/my-npm-package.js"></script> <script> const myNpmPackage = new MyNpmPackage(); myNpmPackage.sayHello(); </script> </body> </html> ``` 这里使用了 script 标签的 src 属性来引入 umd 模块,并通过全局变量 MyNpmPackage 来使用 npm 包中的功能。 需要注意的是,这种方式只适用于浏览器环境中,并且需要手动将 npm 包转换为 umd 模块,并引入相关依赖。如果是在 Node.js 环境中使用 npm 包,可以使用 require 或 import 语句来引入。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值