nuxt如何区分dev环境和start环境,并根据环境配置不同的环境变量

我现在有一个测试服务器和一个线上服务器,这两个服务器的请求接口地址是不一样的,所以我现在想区分开dev环境和start环境,让dev环境请求测试服务器的接口,start环境请求线上服务器的接口。所以我想区分dev环境和start环境,根据环境配置一个环境变量,这个变量需要在页面上能调用,通过这个变量拼接字符串请求接口。
如:我在dev环境下请求的接口为:www.dev.xxx.com/xxx,start环境下请求的接口为:www.xxx.com/xxx

阅读 15.6k
2 个回答

用dev举个例子先,package.json中添加

"dev": "nuxt",// 这个是原有的命令
"dev:test": "cross-env PATH_TYPE=local nuxt", // 扩展两条命令
"dev:start": "cross-env PATH_TYPE=online nuxt",// 扩展两条命令

nuxt.config.js中module.exports添加

env: {
    PATH_TYPE: process.env.PATH_TYPE
  }

在你的路径js文件中添加,此时可以使用process.env.PATH_TYPE判断是哪个环境来生成不同的路径。

let path
if (process.env.PATH_TYPE === 'local') {
  path = 'www.baidu.com/1'
} else {
  path = 'www.baidu.com/2'
}
export default path

最后通过启动两个nuxt的node服务进程,配置不同的服务端环境变量解决。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题