webpack中文文档——指南笔记

在这里插入图片描述
npm i安装依赖node_modules

起步

准备文件:略
构建:npx webpack,默认打包main.js到src目录
在这里插入图片描述在这里插入图片描述

管理资源
加载 CSS:

1.依赖
在这里插入图片描述
2.配置
在这里插入图片描述3.新建css文件
在这里插入图片描述4.index.js引入
在这里插入图片描述5.打包
在这里插入图片描述

加载图片

在这里插入图片描述

字体

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

加载数据

在这里插入图片描述


管理输出

输出多个bundle.js
在这里插入图片描述在这里插入图片描述

HtmlWebpackPlugin

在这里插入图片描述注意:webpack和webpack-cli不能是全局安装的,否则build时会报错:Cannot find module ‘webpack/lib/node/NodeTemplatePlugin’
生成的html:自动引入bundle.js
在这里插入图片描述

清理 /dist 文件夹

在这里插入图片描述报错:

  1. CleanWebpackPlugin is not a constructor 不是一个函数
    原因:版本更新。
    解决:const CleanWebpackPlugin = require(‘clean-webpack-plugin’)
    改为:const {CleanWebpackPlugin} = require(‘clean-webpack-plugin’)
    2.clean-webpack-plugin only accepts an options object
    参数不对
    原因:版本更新
    解决:new CleanWebpackPlugin([‘dist’])改为new CleanWebpackPlugin(),插件会自动获取output的配置
开发
source map

在这里插入图片描述

热更新

在这里插入图片描述webpack’s Watch Mode唯一的缺点是,为了看到修改后的实际效果,你需要刷新浏览器。
在这里插入图片描述在这里插入图片描述

模块热替换

Hot Module Replacement 或 HMR不适用于生产环境,这意味着它应当只在开发环境使用。
在这里插入图片描述vue-cli是node配置
在这里插入图片描述在这里插入图片描述

tree shaking

在这里插入图片描述

将文件标记为无副作用(side-effect-free)
压缩输出

在这里插入图片描述
问题:dist文件夹不知道什么时候变成空了…
执行npm run build后打包出来了

生产环境构建

在这里插入图片描述在这里插入图片描述在这里插入图片描述
按照文档配置完,报错,应该是babel包方面的,没有解决…
没办法了,把vue-cli的babel全部相关的包的负责到package.json,build成功了。然后慢慢删除,测试,最后只剩下"babel-core": “^6.22.1”,
“babel-loader”: “^7.1.1”,
“babel-preset-es2015”: “^6.24.1”

代码分离

在这里插入图片描述build报错:
在这里插入图片描述
应该是版本变更导致写法改变,百度,改为下面解决:
添加属性
在这里插入图片描述

动态引入

在这里插入图片描述报错,没有解决
在这里插入图片描述

懒加载

在这里插入图片描述

缓存

此指南的重点在于通过必要的配置,以确保 webpack 编译生成的文件能够被客户端缓存,而在文件内容变化后,能够请求到新的文件。
在这里插入图片描述如果我们不做修改,然后再次运行构建,我们以为文件名会保持不变。然而,如果我们真的运行,可能会发现情况并非如此:(译注:这里的意思是,如果不做修改,文件名可能会变,也可能不会。)
测试:哈希值没有改变
在这里插入图片描述optimization写法:
在这里插入图片描述

模块标识符

解决:未更改的包不需要每次build的hash值变化
在这里插入图片描述

library

用于开发库,暴露接口给使用者

shimming

webpack 编译器(compiler)能够识别遵循 ES2015 模块语法、CommonJS 或 AMD 规范编写的模块。然而,一些第三方的库(library)可能会引用一些全局依赖(例如 jQuery 中的 $)。这些库也可能创建一些需要被导出的全局变量。这些“不符合规范的模块”就是 shimming 发挥作用的地方。

shimming 全局变量

将lodash暴露为全局变量,代替import引入方式:
在这里插入图片描述导出单个属性:
在这里插入图片描述

细粒度 shimming

在这里插入图片描述

全局 exports

在这里插入图片描述在这里插入图片描述

加载 polyfills
渐进式网络应用程序

渐进式网络应用程序(Progressive Web Application - PWA),是一种可以提供类似于原生应用程序(native app)体验的网络应用程序(web app)。

TypeScript

在这里插入图片描述在这里插入图片描述

source map
使用环境变量
性能

在这里插入图片描述使用 cache-loader 启用持久化缓存。使用 package.json 中的 “postinstall” 清除缓存目录。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值