js基础
1)对js的理解?
2)请说出以下代码输出的值?
3)把以下代码,改写成依次输出0-9
4)如何区分数组对象,普通对象,函数对象
5)面向对象、面向过程
6)面向对象的三大基本特性
7)XML和JSON的区别?
8)Web Worker 和webSocket?
9)Javascript垃圾回收方法?
10)new操作符具体干了什么呢?
11)js延迟加载的方式有哪些?
12)WEB应用从服务器主动推送Data到客户端有那些方式?
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
获取结果:
react和vue的比较
相同
1)vitual dom
2)组件化
3)props,单一数据流
不同点
1)react是jsx和模板;(jsx可以进行更多的js逻辑和操作)
2)状态管理(react)
3)对象属性(vue)
4)vue:view——medol之间双向绑定
5)vue:组件之间的通信(props,callback,emit)
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】**
[外链图片转存中…(img-0C2FIPw6-1715012784236)]
[外链图片转存中…(img-9AMHzXxL-1715012784236)]