babel、可选链_空值合并运算符 、 switch
参考自: https://www.npmjs.com/package/vue-template-babel-compiler 【具体用法参考官网】
一 可选链
引用自可选链的应用 https://www.cnblogs.com/silvestris/p/15857630.html
yarn add -D vue-template-babel-compiler
vue.config.js
module.exports = {
chainWebpack: config => {
config.module
.rule('vue')
.use('vue-loader')
.tap(options => {
options.compiler = require('vue-template-babel-compiler')
return options
})
}
}
二 babel是什么以及 作用
babel是JS编译器,若需要兼容低版本浏览器,需要引入babel,会将es6转为es5
怎么配置babel呢?
引用自 https://www.cnblogs.com/zhangnan35/p/12682925.html
lib-flexible| 方案1 这个过渡方案有一定的问题【rem是相对于html字体而言,用字体来布局不合适】,
推荐用postcss-px-to-viewport | 方案2 {在src【根目录是src】下配置:.postcssrc.js}
***步骤*****V:【重启即可】
yarn add postcss-px-to-viewport -D
在src【根目录是src】下配置:.postcssrc.js
module.exports = {
plugins: {
autoprefixer: {}, // 用来给不同的浏览器自动添加相应前缀,如-webkit-,-moz-等等
"postcss-px-to-viewport": {
unitToConvert: "px", // 要转化的单位
viewportWidth: 750, // UI设计稿的宽度
unitPrecision: 6, // 转换后的精度,即小数点位数
propList: ["*"], // 指定转换的css属性的单位,*代表全部css属性的单位都进行转换
viewportUnit: "vw", // 指定需要转换成的视窗单位,默认vw
fontViewportUnit: "vw", // 指定字体需要转换成的视窗单位,默认vw
selectorBlackList: ["wrap"], // 指定不转换为视窗单位的类名,
minPixelValue: 1, // 默认值1,小于或等于1px则不进行转换
mediaQuery: true, // 是否在媒体查询的css代码中也进行转换,默认false
replace: true, // 是否转换后直接更换属性值
exclude: [/node_modules/], // 设置忽略文件,用正则做目录名匹配
landscape: false // 是否处理横屏情况
}
}
};
vue-cli的vue.config.js https://cli.vuejs.org/guide/webpack.html
二 switch 比 if 效率高
需要写上break,不然会继续执行,不会关掉switch(表达式) {
case n:
代码块
break;
case n:
代码块
break;
default:
默认代码块
}

浙公网安备 33010602011771号