vue项目使用webpack打包的文件过大

本文记录了优化Vue项目以提高首次加载速度的过程。通过删除未使用的库、禁用sourceMap、实现路由懒加载、考虑使用CDN以及启用gzip压缩,显著减少了app.js和vendor.js的大小,最终实现了一两秒内快速加载官网。同时提醒,当使用CDN引入Vue时,确保script标签位置正确,避免Vue未定义的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景

最近被反馈说用vue做的一个官网首次加载很慢,要好多秒,需要进行一下优化,下面说一下我的探索历程。
1.这是中途接手的一个项目,我发现里面有一些本地的第三方库并没有用到或者node modules里已经有了,比如font awesome,bootstrap等,我就把她们删掉了,还有多余的图片也删掉了。
2.从网上搜了方法,把config文件夹下的index.js文件里的productionSourceMap本来是true,设为了false,就是不生成map文件了,至此进行了一次打包,整个文件夹大小是少了很多。
3.打开官网的速度快了一些,但是还要5-6秒,然后发现一些js文件很大,比如app.js和vendor.js都将近1M了。
这个时候去查看路由文件,一开始是没有进行路由懒加载,后来改为路由懒加载之后app.js文件变小了。
4.但是这个时候打开官网的速度还是慢的,因为vendor.js也很大,从网上搜索方法,说引入第三方库太多了,使用cdn,当时尝试vue和elementUI使用cdn引入,还要在webpack.base.conf.js里加externals: {这里写使用cdn引入的库的键值对}是快了,但是后面发现还有更快的方法。
5.最终我没有做第四步,也就是使用cdn,而是使用了gzip,先npm install --save-dev compression-webpack-plugin@1.1.11, 然后前端打开config文件夹下的index.js文件,找到productionGzip设置为true。之后让后台nginx开启gzip模式访问。这个时候再打开官网的速度就加快很多了,目前一两秒就可以加载出来了呢。<

Vue项目使用Webpack打包需要进行一系列的配置,通常会通过创建一个`webpack.config.js`文件来设置。以下是一些基本的配置步骤和要点: 1. 安装Webpack及其相关插件: 首先,需要确保项目中安装了Webpack,以及必要的插件,如`vue-loader`(用于处理Vue文件)、`babel-loader`(用于转换ES6代码)、`css-loader`和`style-loader`(用于处理样式文件)等。可以通过npm或yarn来安装这些依赖。 示例命令: ```bash npm install --save-dev webpack vue-loader vue-template-compiler babel-loader @babel/core @babel/preset-env css-loader style-loader ``` 2. 创建`webpack.config.js`文件: 在项目的根目录下创建一个`webpack.config.js`文件,并进行基本的配置。这包括设置入口(entry)、出口(output)、模块(module)、插件(plugins)等。 基本配置示例: ```javascript const { resolve } = require('path'); const VueLoaderPlugin = require('vue-loader/lib/plugin'); module.exports = { entry: './src/main.js', // 项目的入口文件 output: { path: resolve(__dirname, './dist'), // 打包后的文件存放位置 filename: 'bundle.js', // 打包后的文件名 }, module: { rules: [ { test: /\.vue$/, loader: 'vue-loader' }, { test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/ // 不处理node_modules下的文件 }, { test: /\.css$/, use: [ 'style-loader', 'css-loader' ] } ] }, plugins: [ // 请确保引入这个插件! new VueLoaderPlugin() ], resolve: { alias: { 'vue$': 'vue/dist/vue.esm.js' }, extensions: ['*', '.js', '.vue', '.json'] } }; ``` 3. 配置生产环境和开发环境: 通常需要为生产环境和开发环境设置不同的配置,可以通过`webpack-merge`模块来合并基础配置和其他环境特有的配置。 4. 配置`package.json`中的脚本: 在项目的`package.json`文件中添加一些脚本命令,方便通过npm命令来运行不同的Webpack命令。 示例: ```json "scripts": { "build": "webpack --mode production", "dev": "webpack-dev-server --mode development" } ``` 在完成以上步骤后,你就可以通过运行`npm run build`或`npm run dev`来打包你的Vue项目了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值