Vue 打包后app.css,verondor.js文件过大 webpack

1.查看各部分文件大小及编译后文件大小
(1) 使用webpack-bundle-analyzer工具,先安装依赖包

 npm install cross-env --save-dev

(2) 然后在package.json的scripts中添加

“analyze”:“cross-env NODE_ENV=production npm_config_report=true npm run build”
如下图

"scripts": {
        "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
        "start": "npm run dev",
        "build": "node build/build.js",
        "analyze": "cross-env NODE_ENV=production npm_config_report=true npm run build"
    }

(3) 执行npm run analyze,就会在浏览器自动打开一个页面显示文件信息。如下图

在这里插入图片描述
每一块是一个编译文件及其所编译的源文件内容,最上方的文件是编译完成的文件,下面的其他文件就是此编译文件所编译的源文件,色块的大小代表文件大小,这样我们可以很直观地看出哪些文件比较大。
几种压缩文件的方式。

(1)、vue-router懒加载

export default new Router({
    routes: [{
            path: '/',
            name: 'Home',
            meta: {
                index: 0,
                keepAlive: true,
                title: '首页'
            },
            component: resolve => require(['../components/Home'], resolve)   //关键
        },
        {
            path: '/mine',
            name: 'Mine',
            meta: {
                index: 1,
                keepAlive: false,
                title: '个人中心'
            },
            component: resolve => require(['../components/Mine'], resolve)
        }]

(2)、工程文件打包的时候不生成.map文件

npm run build编译之后,我们查看编译生成的文件,发现有很多.map文件,这些文件也占了不小的空间。.map文件的作用是帮助编译后的代码调试,但是我们上线的代码已经调试完成,所以上线时可以不生成.map文件。

在config/index.js中将productionSourceMap的值修改为false

(3)、gzip压缩

安装插件

npm install --save-dev compression-webpack-plugin

在config的index.js文件找到productionGzip,将属性值false改为true。

(4)、CDN

在项目开发中,我们会用到很多第三方库,如果可以按需引入,我们可以只引入自己需要的组件,来减少所占空间,但也会有一些不能按需引入,我们可以采用CDN外部加载,在index.html中从CDN引入组件,去掉其他页面的组件import,修改webpack.base.config.js,在externals中加入该组件,这是为了避免编译时找不到组件报错。

index.html中

<script src="https://cdn.bootcss.com/vue/2.6.6/vue.min.js"></script>
<script src="https://cdn.bootcss.com/vue-router/3.0.2/vue-router.min.js"></script>
<script src="https://cdn.bootcss.com/axios/0.19.0-beta.1/axios.min.js"></script>
<link rel="stylesheet" href="https://unpkg.com/element-ui@2.3.7/lib/theme-chalk/index.css">
<script src="https://unpkg.com/element-ui@2.3.7/lib/index.js"></script>

webpack.base.config.js中

entry: {
    app: './src/main.js'
},
externals: {   //关键
    'vue': 'Vue',
    'vue-router': 'VueRouter',
    // 'vuex': 'Vuex',
    'axios': 'axios',
    'element-ui': 'ELEMENT'
},
output: {
    path: config.build.assetsRoot,
    filename: '[name].js',
    publicPath: process.env.NODE_ENV === 'production' ?
    config.build.assetsPublicPath : config.dev.assetsPublicPath
},

参考:https://blog.csdn.net/feiyu_may/article/details/80987404

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Vue打包成beta app.js,你可以按照以下步骤进行操作: 1. 在webpack.base.config.js文件中,找到entry属性,并将其设置为你的入口文件路径,例如:'./src/main.js'。\[1\] 2. 在webpack.base.config.js文件中,找到externals属性,并添加VueVueRouter、axios和ELEMENT的外部引用,例如:'vue': 'Vue'。\[1\] 3. 在webpack.base.config.js文件中,找到output属性,并设置输出文件的路径和名称,例如:'\[name\].js'。\[1\] 4. 在index.html文件中,添加VueVueRouter、axios和ELEMENT的CDN链接,例如:'<script src="https://cdn.bootcss.com/vue/2.6.6/vue.min.js"></script>'.\[2\] 5. 如果你想让浏览器在开发模式下同时显示警告和错误信息,可以在vue.config.js文件中添加以下代码: ```javascript module.exports = { devServer: { overlay: { warnings: true, errors: true } } } ``` 这样,当你运行开发服务器时,浏览器将在页面上显示警告和错误信息。\[3\] 请注意,以上步骤是基于Vue的常见配置和打包方式,具体的配置可能因项目而异。你需要根据你的项目结构和需求进行相应的调整。 #### 引用[.reference_title] - *1* *2* [Vue 打包app.css,verondor.js文件过大 webpack](https://blog.csdn.net/qq_42374676/article/details/109688382)[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] - *3* [初入Vue(二)-vue.config.js](https://blog.csdn.net/develop_csdn/article/details/126172441)[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、付费专栏及课程。

余额充值