安装依赖
// npm
npm i --save-dev gulp-preprocess
// yarn
yarn add -d gulp-preprocess
获取本地IP
const os = require('os')
function getLocalHost(){
const netWork = os.networkInterfaces()
const lcoalKey = Object.keys(netWork)[0]
return netWork[lcoalKey][1].address
}
module.exports = getLocalHost
gulp配置
const preprocess = require('gulp-preprocess')
const ENV = process.env.NODE_ENV || 'dev' // 获取环境变量
const getLocalHost = require('./getLocalHost.js')
function JS(){
return src('./index.js')
.pipe(preprocess({ context: { NODE_ENV: EVN_TYPE, URL: getLocalHost() } }))
// 设置源码内变量
....
}
js 配置
{
// 默认地址
baseUrl: '/',
// 开发地址
// @if NODE_ENV='dev'
baseUrl: '/* @echo URL */'
// @endif
}
命令行设置环境变量
set NODE_ENV=dev&&gulp // 开发模式
set NODE_ENV=production&&gulp // 生产模式
注意事项
- 通过命令行配置的环境变量,为临时变量, 只针对当前shell环境, 可以通过添加系统环境变量或 package.json 简化调用.
- 本地ip地址的获取, 不要针对个人及其做调整,可以将 os.networkInterfaces() 打印出来,选择所需的地址项
网友评论