webpack的深入学习与实战(持续更新)

一、何为Webpack

Webpack是 一个开源的JavaScript模块打包工具,其最核心的功能是解决模块之间的依赖,把各个模块按照特定的规则和顺序组织在一起,最终合并为一个JS文件或多个。

二、带宽的换算

目前我们的云服务器带宽为5M

三 、bundle 体积监控工具

1、VS Code中的插件Import Cost

可以帮助我们对引入模块的大小进行实时检测,或者只考虑引用其中的某些子模块


2、webpack-bundle-analyzer

它能够帮助我们分析一个bundle的构成

效果:

安装:

c 复制代码
npm install --save-dev webpack-bundle-analyzer

实现代码:

c 复制代码
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;

module.exports = {
  configureWebpack: config => {
    if (process.env.NODE_ENV === 'development') {
      config.plugins.push(new BundleAnalyzerPlugin());
    }
  }
};

当你运行 vue-cli-service serve 时,Vue CLI 会将 process.env.NODE_ENV 设置为 "development",当你运行 vue-cli-service build 时,Vue CLI 会将 process.env.NODE_ENV 设置为 "production"。在这两种情况下,process.env.NODE_ENV 的值都是由 Vue CLI 设置的。Vue CLI 会根据用户执行的命令来决定是设置为开发模式还是生产模式。

你也可以在脚本中设置:

c 复制代码
"scripts": {
  "build": "NODE_ENV=production vue-cli-service build"
}

四、优化
1、script 标签中添加属性defer="defer"

如果 async="async":脚本相对于页面的其余部分异步地执行(当页面继续进行解析时,脚本将被执行)

如果不使用 async 且 defer="defer":脚本将在页面完成解析时执行

如果既不使用 async 也不使用 defer:在浏览器继续解析页面之前,立即读取并执行脚本

相关推荐
snow@li10 小时前
前端:构建工具(Vite / Webpack)的 文件指纹(File Hash) 机制 / 浏览器缓存控制
前端·webpack·哈希算法
SwJieJie3 天前
Webpack vs Vite 构建工程化实战(Vue 项目深度解析)
前端·vue.js·webpack·node.js
2401_885665195 天前
基于OpenCV的银行智能卡号识别系统完整实现与原理剖析
人工智能·opencv·webpack
xiaofeichaichai7 天前
Webpack
前端·webpack·node.js
代钦塔拉7 天前
VS+OpenCV诡异LNK2019终极解决方案
webpack
半岛@少年9 天前
Webpack在前端项目中究竟发挥什么作用?
前端·webpack·前端工程化
咸鱼翻身小阿橙9 天前
高斯模糊降噪/磨皮算法降噪图像
前端·opencv·算法·webpack·c#
kyriewen11 天前
从Webpack到Vite:我们迁移了一个10万行代码的项目,总结了这7个坑
前端·webpack·vite
漂流瓶jz14 天前
Webpack如何实现万物皆可import?loader的使用/配置/手写实践
前端·javascript·webpack