webpack项目打包优化

作者: 前端mh | 来源:发表于2022-04-22 14:21 被阅读0次

浏览器的缓存优化:

当我们项目部署到服务器的时候,浏览器会缓存我们的文件,当我们再次修改我们的代码,如果文件名称没有变,浏览器会先使用本地用户缓存的内容,此时我们便获取不到最新的内容了,可以使用更改文件名来解决这个问题,在输出文件的文件名中添加一个二进制的哈希值,同时在前面添加一个文件,将所有的js文件都打包到一起。

例如: filename: "script/[name].[contenthash].js",

由于第三方的代码不会频繁更新,我们可以将第三方的代码打包缓存到浏览器中,这样可以保证第三方的代码始终可以使用浏览器缓存的,具体操作如下:


image.png

拆分配置文件:

原因:开发环境和生产环境的对于webpack.config.js的配置是不一样的,比如在开发环境中不需要配置代码压缩,在生产环境中不需要配置代码调试,所以需要针对不同的环境配置不同的webpack配置文件。
1.根据开发环境和生产环境的不同,可以新建一个config文件夹,同时拆分两个webpack.config.js文件,分别是webpack.config.dev.js及webpack.config.prod.js。分别对这两个文件进行不同的配置。
2.更改mode,生产环境的mode:production,开发环境的mode:development
3.将output中的path路径改下 path: path.resolve(__dirname, "../dist"),
4.可以将外部的package.json,package-lock.json及node_modules文件复制到当前的项目下,并在package.json中配置启动的服务。

image.png

在项目中执行npm run start 编译代码并启动服务。


image.png

提取公共配置,合并配置文件:

由于生产和开发环境中的webpack.config.js有大量的代码重复,我们可以提取公共的配置。
1.新建一个webpack.config.common.js文件,用于存放公共代码。在建一个webpack.config.js文件,用于merge代码。


image.png

2.下载webpack-merge插件,并配置webpack.config.js文件。

const {merge} = require('webpack-merge')
const productionConfig = require('./webpack.config.prod')
const developmentConfig = require('./webpack.config.dev')
const commonConfig = require('./webpcak.config.common')
module.exports = (env)=>{
    switch(true){
        case env.production:
            return merge(productionConfig,commonConfig)
        
        case env.development:
            return merge(developmentConfig,commonConfig)
        
        default:
            return new Error('no found');
    }
}

3.更改,package.json中的配置。

"scripts": {
    "start": "webpack serve -c ./config/webpack.config.js --env development",
    "build":"webpack -c ./config/webpack.config.js --env production"
  },

相关文章

  • vue项目优化

    vue 项目优化 项目打包体积优化 通常vue项目通过webpack打包后,会出现vendor包的体积过大的情况,...

  • React单页面应用项目 性能优化 实践

    react 单页面应用项目在加载优化这一块就得依赖webpack的打包方式。webpack的打包优化的本质就是将 ...

  • 浅谈webpack打包原理

    近来想要对旧项目进行优化,所以了解下webpack打包原理为优化做准备 webpack 4.x 打包文件 inde...

  • 2019-12-16 总结几个webpack打包优化的方法

    总结几个webpack打包优化的方法 为什么要优化打包? 项目越做越大,依赖包越来越多,打包文件太大 单页面应用首...

  • webpack学习笔记

    学习目的 学习前端构建化工具 webpack,能熟练掌握 并使用 webpack 对项目进行打包优化。 ...

  • webpack项目打包优化

    浏览器的缓存优化: 当我们项目部署到服务器的时候,浏览器会缓存我们的文件,当我们再次修改我们的代码,如果文件名称没...

  • webpack

    用于webapp。 webpack 打包优化。选项去优化项目。 减少HTPP请求,减少请求文件,希望使用缓存让我们...

  • 基于webpack 3 打包性能优化

    基于webpack 3 打包性能优化 source Scope Hoisting. 过去 webpack 打包时的...

  • react+webpack4搭建前端项目(三)打包优化

    本编文章接着前两篇文章进行项目webpack打包的优化 1、react+webpack4搭建前端项目(一)2、re...

  • webpack打包优化

    实现webpack打包优化,有两个优化点: 如何减少打包时间 如何减少打包大小 减少打包时间 优化Loader对于...

网友评论

    本文标题:webpack项目打包优化

    本文链接:https://www.haomeiwen.com/subject/hkogertx.html