项目优化策略
给项目顶部加进度条
1.对于vue-cli项目直接在可视化面板查找nprogress运行依赖,对于其他项目使用:npm install --save nprogress
命令安装。
2.导入nprogress包对应的JS和CSS
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
3.配置请求拦截器和响应拦截器
//在request拦截器中展示进度条 NProgress.start()
axios.interceptors.request.use(config => {
NProgress.start();
return config;
// 在response拦截器中隐藏进度条 NProgress.done()
axios.interceptors.response.use(config => {
NProgress.done();
return config;
});
移除项目中的console语句
- vue可视化面板安装依赖或者命令安装
babel-plugin-transform-remove-console
npm install babel-plugin-transform-remove-console --save-dev
- 在babel.config.js文件中添加如下:
plugins: [
[
'component',
{
libraryName: 'element-ui',
styleLibraryName: 'theme-chalk'
}
],
'transform-remove-console' //注意
]
其他项目中可在.babelrc文件中进行配置:
{
"plugins": ["transform-remove-console"]
}
注意注意注意
以上方法全局设置后不利于在测试开发模式下使用,因此需要区分开发模式和发布模式,代码如下:
// 这是项目发布阶段需要用到的babel插件
const prodPlugins = []
if (process.env.NODE_ENV === 'production') {
prodPlugins.push('transform-remove-console');
}
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
],
plugins: [
[
'component',
{
libraryName: 'element-ui',
styleLibraryName: 'theme-chalk'
}
],
// 发布产品时的插件数组
...prodPlugins
]
}