项目优化上线 第二部分!!

50 阅读2分钟

第三方依赖启用CDN

/vue.config.js

module.exports={
    chainWebpack: (config) => {
    config.when(process.env.NODE_ENV == "production", (config) => {
      config.entry("app").clear().add("./src/main-prod.js");
      //使用外部资源文件
      config.set("externals", {
        vue: "vue",
        "vue-router": "VueRouter",
        axios: "axios",
        lodash: "_",
        echarts: "echarts",
        nprogress: "NProgress",
        "vue-quill-editor": "VueQuillEditor"
      });
    });
    config.when(process.env.NODE_ENV == "development", (config) => {
      config.entry("app").clear().add("./src/main-dev.js");
    });
  },
}



 路由部分的优化
 
 
 ### 路由懒加载

当打包创建项目时候,js包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。

具体需要三步:

1.  安装 `@babel/plugin-syntax-dynamic-import`包
1.  在babel.config.js配置文件中声明该插件

module.exports = { presets: ['@vue/cli-plugin-babel/preset'], plugins: [...proPlugin,'@babel/plugin-syntax-dynamic-import'], }


1.  将路由改为按需加载的形式,示例代码如下:

const Foo = () => import(/* webpackChunkName: "group-foo" / './Foo.vue') const Bar = () => import(/ webpackChunkName: "group-foo" / './Bar.vue') const Baz = () => import(/ webpackChunkName: "group-foo" */ './Baz.vue')

 
 
 
 
 ### 开启gzip压缩

使用gzip减少文件体积,使传输速度更快

可以通过服务器端使用express做gzip压缩,其配置如下:

-   服务器端安装包 `npm i compression -D`
-   导入包 `const compression=require("compression");`
-   启用中间件 `app.use(compression())`

/app.js

const express=require("express") const compression=require("compression") const app=express()

app.use(compression()) //这个在前 app.use(express.static('./dist')) //这个在后

app.listen(80,()=>{ console.log("正在运行3000") })

image.png

![图片转存失败,建议将图片保存下来直接上传
        
 image.png(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ee06d74c2bb848f5bff91329ffd744ae~tplv-k3u1fbpfcp-watermark.image?)
]()```

 开启gzip压缩 开启gzip压缩
 
 

1 新建一个文件夹server 里面创建app.js文件 cmd在终端打开

2 窗口运行npm init -y 生成package.json文件

3 app.js文件配置上图所示 将生成dist文件复制到server 4 终端输入dir查看文件目录

屏幕截图 2023-02-13 202157.png

5 终端下载 npm i express compression

6打开宝塔linux面板 点击网站选项 添加node项目

7点击文件选项 添加文件目录 最好是wwwroot同级 vue.hang.live

屏幕截图 2023-02-13 203146.png

8 将server里的项目除了node-moudes 上传到该文件目录下

9 点击添加 node项目

屏幕截图 2023-02-13 203245.png

10 注意项目名称不要有. 启动项目命令node 项目目录/app.js

11 项目端口 例如3000 绑定域名 就是项目名称

12 在安全选项 添加你自己设置的端口名称 规则 app.js端口要与node项目端口一致

13 重新启动项目 在浏览器敞口 直接输入vue.hang.live 如果报错在 可以添加腾讯云域名解析

屏幕截图 2023-02-13 204153.png

屏幕截图 2023-02-13 204247.png

进度条 和格式化

屏幕截图 2023-02-13 204518.png

1 终端下载 npm i nprogress

屏幕截图 2023-02-13 204726.png

屏幕截图 2023-02-13 204832.png