我的优化可以让16mb优化成几mb或者kb
目录:
1.添加进度条
2.根据报错修改代码 这个是要有eslint
3…执行build
4.修改webpack的默认配置
5.加载外部CDN
6…定制首页内容
7.路由懒加载
8.项目上线
一、添加进度条
先下载·
nprogress
然后放到封装的axios中 当axios请求数据的时候有进度条,当拦截的时候关闭进度条
import NProgress from 'nprogress'
//3. 请求拦截器配置
Server.interceptors.request.use(
(config) => {
NProgress.start()
// if (store.state.token) {
// config.header = store.state.token
// }
let token = sessionStorage.getItem("token-for-the-kin");
if (store.state.token.length > 0) {
config.headers["Authorization"] = store.state.token;
}
return config;
},
(error) => {
return Promise.reject(error);
}
);
//4. 相应拦截器
Server.interceptors.response.use(
(response) => {
console.log(response);
if (response.data.meta.status == 400) {
var token = store.state.token;
response.headers["Authorization"] = token;
console.log(token);
}
//过滤返回的data值
if (response.status == 200) {
return response.data;
}
NProgress.done()
return response;
},
(error) => {
return Promise.reject(error);
}
二、.根据报错修改代码 这个是要有eslint
这个是要在 eslint
根据ESLint的警告提示更改对应的代码
在.prettierrc文件中更改设置"printWidth":200, 将每行代码的文字数量更改为200
{
"semi":false,
"singleQuote":true,
"printWidth":200
}
三、执行build 这个不用
这个可以不用配置
安装一个插件(babel-plugin-transform-remove-console)在项目build阶段移除所有的console信息
打开项目控制台,点击依赖->开发依赖,输入babel-plugin-transform-remove-console,安装
打开babel.config.js,编辑代码如下:
//项目发布阶段需要用到的babel插件
const productPlugins = []
//判断是开发还是发布阶段
if(process.env.NODE_ENV === 'production'){
//发布阶段
productPlugins.push("transform-remove-console")
}
module.exports = {
"presets": [
"@vue/app"
],
"plugins": [
[
"component",
{
"libraryName": "element-ui",
"styleLibraryName": "theme-chalk"
}
],
...productPlugins
]
}
4.修改webpack的默认配置
在src下面创建 main-prod.js main-dev.js 中的内容就是main中的内容
module.exports = {
publicPath: "./", //静态资源
productionSourceMap: false, //关闭map
chainWebpack