紧跟潮流
大前端和全栈是以后前端的一个趋势,懂后端的前端,懂各端的前端更加具有竞争力,以后可以往这个方向靠拢。
这边整理了一个对标“阿里 50W”年薪企业高级前端工程师成长路线,由于图片太大仅展示一小部分
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
3.3 运行 yarn build:env3
在任意 JS
脚本中获取环境变量:
四、不同环境变量的使用示例
// 项目中 axios 请求的封装
import axios from 'axios'
const env = process.env.NODE\_ENV;
const request = axios.create({
withCredentials: false
});
request.interceptors.request.use(config => {
// ...
switch(env) {
case 'env1':
// ...
break;
case 'env2':
// ...
break;
case 'env3':
// ...
break;
}
return config;
});
export default function ajax() {
return new Promise(() => {
request().
then().
catch()
});
}
五、配置除默认变量以外的变量
process.env.NODE_ENV
是 Node
配置的默认变量,如果项目中需要更多这样的变量来适配不同环境,需要做配置。直接设置在 scripts
中是不生效的。
比如直接书写
"scripts": {
"serve": "vue-cli-service serve",
"build:test": "cross-env NODE\_ENV=env1 CLIENT\_NAME=zs URL=http://www.xxx.url vue-cli-service build"
}
在上面的配置中,除了配置了 NODE_ENV
之外,还配置了 CLIENT_NAME
和 URL
,我们可以在任意 JS
脚本中获取,拿到的都是 undifined
:
所以,要使用更多的变量,需要在 vue.config.js
中做以下配置:
const webpack = require('webpack');
module.exports = {
publicPath: './',
configureWebpack: {
plugins: [
new webpack.DefinePlugin({
'process.env': {
// 如果需要更多的变量,那就在这里添加更多的键值对
URL: JSON.stringify(process.env.URL),
CLIENT\_NAME: JSON.stringify(process.env.CLIENT\_NAME)
}
})
]
}
};
然后更改 package.json
中命令:
"scripts": {
"serve": "vue-cli-service serve",
"build:env1": "cross-env NODE\_ENV=env1 CLIENT\_NAME=zs URL=http://www.xxx.url1 vue-cli-service build",
"build:env2": "cross-env NODE\_ENV=env2 CLIENT\_NAME=ls URL=http://www.xxx.url2 vue-cli-service build",
"build:env3": "cross-env NODE\_ENV=env3 CLIENT\_NAME=ww URL=http://www.xxx.url3 vue-cli-service build"
}
然后分别运行三个打包命令并且在任意脚本中读取 CLIENT_NAME
和 URL
:
yarn build:env1
yarn build:env2
yarn build:env3
获取结果:
学习分享,共勉
题外话,毕竟我工作多年,深知技术改革和创新的方向,Flutter作为跨平台开发技术、Flutter以其美观、快速、高效、开放等优势迅速俘获人心
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
美观、快速、高效、开放等优势迅速俘获人心
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
[外链图片转存中…(img-2ORiCOun-1714820464843)]