vue-ssr+nuxt.js开发的跨境电商的配置的项目环境变量。
cross-env
插件npm install cross-env --save
env.js
文件env.js
文件配置环境变量配置各个环境下的接口地址和服务端口
export default {
dev: {
server: {
host: '0.0.0.0',
port: 8888,
},
api: {
port: '',
host: '开发环境接口地址'
}
},
test: {
server: {
host: '0.0.0.0',
port: 7085,
},
api: {
port: '',
host: '测试环境接口地址''
}
},
uat: {
server: {
host: '0.0.0.0',
port: 7085,
},
api: {
port: '',
host: '预发布环境接口地址''
}
},
prod: {
server: {
host: '0.0.0.0',
port: 7085,
},
api: {
port: '',
host: '生产环境接口地址''
}
}
}
nuxt.config.js
配置基本的接口地址变量import env from './env';
export default {
env:{
MODE:process.env.MODE
},
axios: {
baseURL: env[process.env.MODE].api.host,
},
//修改默认的访问端口
server: env[process.env.MODE].server,
}
npm install pm2 -g
ecosystem.config.js
文件module.exports = {
apps: [
{
name: '项目名称',
exec_mode: 'cluster',
instances: 'max', // Or a number of instances
script: './node_modules/nuxt/bin/nuxt.js',
args: 'start', //npm run start:test
watch: true, //启动热重载
//配置环境变量,这里的环境变量要与nuxt里边的`package.json`文件的变量相同
env_prod: {
NODE_ENV: 'production',
MODE: 'prod',
},
env_test: {
NODE_ENV: 'test',
MODE: 'test',
},
env_uat: {
NODE_ENV: 'uat',
MODE: 'uat',
},
},
],
}
把你的nuxt
项目提交到服务器上准备部署
npm run build:prod
pm2 start --env uat
.env.test
# just a flag
ENV = 'test'
# base api
VUE_APP_BASE_API = '测试环境接口地址''
.env.development
# just a flag
ENV = 'development'
# base api
VUE_APP_BASE_API = '测试环境接口地址''
package.json
文件配置环境变量
"scripts": {
"dev": "vue-cli-service serve --open",
"build:prod": "vue-cli-service build",
"build:test": "vue-cli-service build --mode test",
"build:uat": "vue-cli-service build --mode uat",
"test:unit": "vue-cli-service test:unit",
"lint": "vue-cli-service lint"
},
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API,
timeout: 5000 // request timeout
})
在其他页面也可以这样使用就好了。