30

20180829 更新

今天反复试了,不用区分 测试环境还是 生产环境,统一都用 cdn 就可以了

背景

之前自己搭建了一个 vue + tp5.1 的后台项目(https://segmentfault.com/a/11...),坑很多,其中一个就是资源加载的方案,由于是后台项目,之前一直没放在心上,看到一些资源优化方案后(https://juejin.im/post/5a2910...),觉得有必要弄一下。

老版本

通过:npm run build 后

图片描述

可以看到, 文件大小最大的 820kb,即使用 Gzipped 压缩后也是 219kb,随着项目不断变大,这个值还会不断增大

使用CDN加速

这里请先参考 https://juejin.im/post/5a2910...,这里只做vue-cli@3.0的配置修改

  • index.html文件
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <title>VUE后台管理系统</title>
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
</head>
<body>
<div id="app"></div>
<!-- built files will be auto injected -->
<script src="https://unpkg.com/vue@2.5.16/dist/vue.runtime.min.js"></script>
<script src="https://unpkg.com/vuex@3.0.1/dist/vuex.min.js"></script>
<script src="https://unpkg.com/vue-router@3.0.1/dist/vue-router.min.js"></script>
<script src="https://unpkg.com/element-ui/lib/index.js"></script>

</body>

</html>

  • vue.config.js 文件
module.exports = {
    baseUrl: process.env.NODE_ENV === "production" ? "./" : "/",
    outputDir: process.env.outputDir,
    configureWebpack: {
        externals: {
            vue: "Vue",
            vuex: "Vuex",
            "vue-router": "VueRouter",
            "element-ui": "ELEMENT"
        }
    }
};

页面优化后

图片描述


lmxdawn
1.4k 声望84 粉丝

你今生有没有坚定不移地相信过一件事或一个人?是那种至死不渝的相信?