webpack优化构建速度示例-externals:

externals 配置项主要用于防止将某些 import 的包(package)打包到 bundle 中,而是在运行时(runtime)再从外部获取这些扩展依赖(external dependencies)。这样做的主要目的是为了解决打包文件过大的问题。

优化前

c 复制代码
webpack.config.js

const config = {
    entry: './src/index.js',
    output: {
        filename: 'main.js'
    },
  mode: 'development',
}

module.exports = config;
c 复制代码
src/index.js
import $ from 'jquery'
$(document).ready(() => {
    $('body').css({
        width: '100%',
        height: '100%',
        'background-color': 'red'
    })
})

优化后

c 复制代码
webpack.config.js

const HtmlWebpackPlugin = require('html-webpack-plugin');

const config = {
    entry: './src/index.js',
    output: {
        filename: 'main.js'
    },
  mode: 'development',
  externals: {
    $: 'jQuery'
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './index.html',
  })
  ]
}

module.exports = config;
c 复制代码
src/index.js
$(document).ready(() => {
    $('body').css({
        width: '100%',
        height: '100%',
        'background-color': 'red'
    })
})
c 复制代码
index.html
<!DOCTYPE html>
<html lang="en">
<body>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
</body>
</html>

可以看到将jquery排除在打包内,节省了319-177=144ms

相关推荐
怕浪猫6 小时前
第一章、Chrome DevTools Protocol (CDP) 详解
前端·javascript·chrome
kyriewen6 小时前
从本地到生产:迁移到 GitHub Actions 自动化 CI/CD,总结了这 5 个坑
前端·github·自动化运维
雨季mo浅忆6 小时前
首个Vue3项目边写边学边记
前端·vue3
IT_陈寒7 小时前
React中useEffect依赖项这个坑我居然踩了三天
前端·人工智能·后端
qq4356947017 小时前
Vue04
前端·vue.js
我是真菜9 小时前
彻底理解js中的深浅拷贝
前端·javascript
江畔柳前堤9 小时前
github实战指南07-CLI 与高级技巧
前端·人工智能·chrome·深度学习·github·caffe·issue
weixin_571667419 小时前
[解决] Node.js 安装后 命令找不到
node.js
kisdiem9 小时前
ReAct:让大模型一边推理,一边行动
前端·react.js·前端框架
西部荒野子9 小时前
JS 如何跑进两个原生世界
前端