vue-cli打包

创建vue-config.js文件

设置不同模式的打包入口

把main.js文件删除,创建main-prod.js和main-dev.js

module.exports = {
    chainWebpack: config => {
      // 判断当前的编译模式,设置入口的打包文件
        config.when(process.env.NODE_ENV === 'production', config => {
            config.entry('app').clear().add('./src/main-prod.js')
        })

        config.when(process.env.NODE_ENV === 'development', config => {
            config.entry('app').clear().add('./src/main-dev.js')
        })
    }
}
合并优化

默认情况下,通过import语法导入的第三方依赖包,会被打包到同一个文件中
造成文件体积过大
在这里插入图片描述
1
声明后,打包时发现该包名,就不会合并到同一个文件下,而是在去window全局查找直接使用

config.set('externals', {
            vue: 'Vue',
            'vue-router': 'VueRouter',
            axios: 'axios',
            lodash: '_',
            echarts: 'echarts',
            nprogress: 'NProgress',
            'vue-quill-editor': 'VueQuillEditor'
        })

2
main-prod中的样式表删除,
public/index.js文件中添加外部资源引用

  <!-- 富文本编辑器 的样式表文件 -->
    <link rel="stylesheet" href="https://cdn.staticfile.org/quill/1.3.4/quill.core.min.css" />
    <link rel="stylesheet" href="https://cdn.staticfile.org/quill/1.3.4/quill.snow.min.css" />
    <link rel="stylesheet" href="https://cdn.staticfile.org/quill/1.3.4/quill.bubble.min.css" />
   

    <script src="https://cdn.staticfile.org/vue/2.5.22/vue.min.js"></script>
    <script src="https://cdn.staticfile.org/vue-router/3.0.1/vue-router.min.js"></script>
    <script src="https://cdn.staticfile.org/axios/0.18.0/axios.min.js"></script>
    <script src="https://cdn.staticfile.org/lodash.js/4.17.11/lodash.min.js"></script>
    <script src="https://cdn.staticfile.org/echarts/4.1.0/echarts.min.js"></script>
    <script src="https://cdn.staticfile.org/nprogress/0.2.0/nprogress.min.js"></script>
    <!-- 富文本编辑器的 js 文件 -->
    <script src="https://cdn.staticfile.org/quill/1.3.4/quill.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/vue-quill-editor@3.0.4/dist/vue-quill-editor.js"></script>


优化element-ui

配置完,文件小了很多,但还是很大,于是对element-ui优化
在这里插入图片描述

main-prod.js中,注释element-ui按需加载的代码
index.html的头部区域,通过CND加载element-ui的js和样式

 <!-- element-ui 的样式表文件 -->
    <link rel="stylesheet" href="https://cdn.staticfile.org/element-ui/2.8.2/theme-chalk/index.css" />
        <!-- element-ui 的 js 文件 -->
    <script src="https://cdn.staticfile.org/element-ui/2.8.2/index.js"></script>

在这里插入图片描述

为不同模式下添加标题

main-prod.js中为html添加属性isProd
开发模式为false,发布模式为true,
并在public/index.js中进行判断

 config.plugin('html').tap(args => {
                args[0].isProd = false
                return args
            })
<title><%= htmlWebpackPlugin.options.isProd ? '' : 'dev - ' %>电商后台管理系统</title>
路由懒加载

当打包构建项目时,javaScript包会变得非常大,影响页面加载,把不同路由对应的组件分割成不同的代码块,然后路由被访问的时候才加载对应组件,这样效率更高
具体见链接

  1. 安装@babel/pugin-syntax-dynamic-import
  2. babel.config.js配置文件中声明该插件
  3. 将路由改为按需加载的形式,示例代码如下
const Foo = () => import(/* webpackChunkName: "group-foo"*/ './Foo.vue')
const Bar= () => import(/* webpackChunkName: "group-foo"*/ './Bar.vue')
const Baz= () => import(/* webpackChunkName: "group-boo"*/ './Baz.vue')
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 使用vue-cli进行打包和发布可以按照以下步骤进行操作。首先,使用vue-cli创建模板项目,可以通过运行命令`vue init webpack`来初始化项目。在初始化过程中,可以选择是否加载依赖vue-router和是否使用ESLint进行代码规范检查。接下来,可以使用命令`npm run build`或`yarn build`来进行项目打包打包完成后,可以将打包后的文件部署到静态服务器或动态web服务器(如tomcat)上进行发布。如果选择静态服务器部署,可以使用静态服务器工具包进行部署;如果选择动态web服务器部署,可以按照tomcat部署的方式进行操作。另外,如果需要将代码上传到GitHub,可以使用git命令进行上传和更新。具体的上传和更新步骤可以参考相关文档或使用VSCode进行操作。最后,如果需要关闭ESLint代码规范检查,可以在项目配置文件中进行相应的设置。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [vue-cli创建vue项目&打包发布&上传/更新github&ESLint代码规范](https://blog.csdn.net/qq53167889/article/details/108254905)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Vue-cli2 + webpack搭建vue项目流程以及打包发布流程](https://blog.csdn.net/qq_35321405/article/details/89514492)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值