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

相关推荐
IT古董8 分钟前
全面理解 Corepack:Node.js 的包管理新时代
前端·node.js·corepack
Jonathan Star10 分钟前
NestJS 是基于 Node.js 的渐进式后端框架,核心特点包括 **依赖注入、模块化架构、装饰器驱动、TypeScript 优先、与主流工具集成** 等
开发语言·javascript·node.js
学习3人组12 分钟前
清晰地说明 NVM、NPM 和 NRM 在 Node.js 开发过程中的作用
前端·npm·node.js
矢心21 分钟前
setTimeout 和 setInterval:看似简单,但你不知道的使用误区
前端·javascript·面试
一枚前端小能手36 分钟前
🧭 使用历史记录 API - SPA导航与状态管理的完整指南
前端·javascript
用户479492835691539 分钟前
从字符串满天飞到优雅枚举:JavaScript 常量管理的几种姿势
前端·javascript
qq_4152162540 分钟前
Vue3+vant4+Webpack+yarn项目创建+vant4使用注意明细
前端·webpack·node.js
李建军1 小时前
ASP.NET Core Web 应用SQLite数据连接显示(1)
前端
耀耀切克闹灬1 小时前
word文档转html(mammoth )
前端
文心快码BaiduComate1 小时前
双十一将至,用Rules玩转电商场景提效
前端·人工智能·后端