Vue项目打包步骤详细流程,新手必需掌握的知识点!

Vue项目打包流程介绍

新手必须要懂的 Vue项目打包

生成打包报告

为能更加清楚直观的发现我们项目中存在的问题,我们可以在打包时生成一份打包报告,打包报告生成的方式有两种:

  1. 通过命令生成
    通过vue-cli的命令可以生成打包报告 report.html
 vue-cli-service build --report 
  1. 通过可视化控制面板直接查看
    推荐使用这种方式。在vue-cli3以上版本,通过vue ui进入的可视化控制面板中可以清楚的看到项目存在的问题与详细情况。控制台和分析面板可以看到项目中存在的问题,仪表盘可以看到每个包占的内存。在这里插入图片描述

修改默认配置

vue-cli3隐藏了所有的webpack配置项,我们需要在vue.config.js中队我们项目打包发布作自定义配置,常用如下:

module.exports = {
  publicPath: "/", // 部署应⽤包时的基本 URL
  outputDir: "dist", // npm run build ⽣成的⽂件夹,默认是dist
  assetsDir: "static", // 在kaixin⽂件夹下⾯⽣成static⽬录存放js,img,css等静态资源
  indexPath: "index.html", // ⽣成的单⽂件的,⽂件名,
  devServer: {
    host: "127.0.0.1", // 配置主机地址
    port: process.env.NODE_ENV == 'production' ? 3000 : 8888, // 配置运⾏的端⼝
    
    // proxy: "接⼝地址",  跨域代理! 【重要!】
    proxy: { // 配置多个!
      '/api': {
        target: 'http://localhost:3030/api',
        ws: true, // 跨域地址是https协议!
        changeOrigin: true,
        pathWrite: {
          "^/api": ""   // 将 '/api' 替换成 ''  
        }
      }
    },
  }
}

具体参考文档https://cli.vuejs.org/zh/config/#vue-config-js

指定打包入口

默认情况下Vue的开发模式和生产模式公用一个打包入口文件(main.js)。为了分离两者,我们指定两种模式的打包入口文件:

  1. 开发模式:src/main-dev.js
  2. 生产模式:src/main-prod.js
    在这里插入图片描述

通过external加载外部CDN资源

默认情况下,通过import引入的三方依赖包最终会一并打包到文件中,由此我们打包后项目体积会过大。
中上所述,我们可以通过webpack的externals节点来配置并加载外部的CDN资源。凡是在externals中声明的三方依赖包都不会被打包。
如下图:在这里插入图片描述
同时我们需要在public/index.html文件头部添加如下的CDN资源引用:在这里插入图片描述
据上述操作后,我们的文件体积减少了非常多。

优化组件库的打包

开发模式中,虽然已经对组件库使用了按需加载的模式,但是打包后还是产生了体积较大的文件,因此同上操作,我们也可以采用CDN加载组件库的js和css文件。

现在我们的项目体积基本已经没有什么问题
在这里插入图片描述

首页内容定制

我们可以根据不同的环境来定制首页内容。通过插件来进行配置,参考如下:在这里插入图片描述

在pubilc/index.html中根据isProd的值来决定如何渲染页面结构:

  1. 指定标题在不同模式下显示:

在这里插入图片描述

  1. 资源加载判断:在这里插入图片描述

路由懒加载

打包项目后js文件太大,会影响我们的页面打开加载速度,因此我们需要把js文件分割成多个代码块,然后当我们的路由访问时再加载相对应的组件。常用的有三种方式
1. vue异步组件
2. es提案的import()
3. webpack的require,ensure()

这里我们采用es提案的import()

  1. 首先我们需要安装@babel/plugin-syntax-dynamic-import包
  2. 再babel.config.js配置文件种声明该插件
  3. 将路由改为按需加载形式

webpackChunkName后面是组名,将组件分组后最后同组的将被打包到同一js文件

// import Home from './components/Home.vue'
// 在一般情况下一个组件会被打包出一个js文件,
// 但是我们指定相同的webpackChunkName的组件将被打包在统一js文件
const Home = () => import(/* webpackChunkName: "group-foo" */ './Home.vue')

具体参考文档
https://router.vuejs.org/zh/guide/advanced/lazy-loading.html

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Webpack打包Vue项目详细流程主要包括以下步骤: 1. 创建项目:使用Vue官方提供的Vue CLI脚手架工具创建项目,该工具已经集成了Webpack等相关依赖。命令如下: ``` vue create my-project ``` 2. 配置Webpack:在项目根目录下创建vue.config.js文件,用于配置Webpack。可以在该文件中配置Webpack相关的内容,例如入口文件、打包输出目录、loader、插件等。 3. 解析入口文件:Webpack会根据配置文件中的entry选项,找到项目的入口文件。通常情况下,入口文件是src/main.js。 4. 加载模块:Webpack会根据入口文件及其依赖的模块,选择相应的loader对模块进行处理。对于Vue项目,需要使用vue-loader对.vue文件进行处理,并使用babel-loader对ES6语法进行转换。 5. 生成代码块:Webpack将处理后的模块组织成一个个代码块,使用CommonsChunkPlugin插件可以将公共代码块抽离出来,提高代码复用性和性能。 6. 输出文件:Webpack会根据配置文件中的output选项,将打包后的代码块输出到指定的目录。对于Vue项目,需要将打包后的文件输出到dist目录下。 7. 插件处理:Webpack还提供了许多插件,用于处理打包后的代码块。对于Vue项目,可以使用VueLoaderPlugin插件将.vue文件正确地编译为JavaScript代码。 8. 运行项目:使用npm run serve命令可以启动开发服务器,实时预览项目效果。使用npm run build命令可以打包项目,生成最终的静态文件。 以上就是Webpack打包Vue项目详细流程,通过这些步骤,可以快速地构建一个现代化的Vue项目

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值