第一步:安装 cross-env
npm i cross-env -D
第二步:配置BASE_URL和NODE_ENV
package.json配置,这里的 BASE_URL PORT自行替换
//package.json
"scripts": {
"dev": "cross-env NODE_ENV=development BASE_URL=10.181.5.65 PORT=3001 nodemon server/index.js --watch --exec babel-node server",
"build": "cross-env NODE_ENV=production BASE_URL=10.181.5.65 PORT=3001 nuxt build",
"start": "cross-env NODE_ENV=production BASE_URL=10.181.5.65 PORT=3001 node server/index.js --exec babel-node",
"generate": "nuxt generate"
}
第三步:配置nuxt.config.js
env: {
BASE_URL: process.env.BASE_URL,
PORT:process.env.PORT,
NODE_ENV: process.env.NODE_ENV
}
第四步,配置启动环境
server: {
port: process.env.PORT, // default: 3000
host: process.env.BASE_URL, // default: localhost
}
使用方法
server/index.js 里面使用
const {
host = process.env.BASE_URL || '127.0.0.1',
port = process.env.PORT || 3001
} = nuxt.options.server
axios中使用
const service = axios.create({
baseURL: `http://${process.env.BASE_URL || 'localhost'}:${process.env.PORT || 3001}`,
timeout: 10000,
headers: {}
});
配置完成后只需要执行不同的打包命令就可以自动设置BASE_URL和NODE_ENV