Webpack学习笔记(9)

Shimming预置依赖

预置全局变量

例如lodash:

细颗粒度shimming

当模块运行在commonjs上下文中,this指向的是module.exports并不是window,所以可以覆盖一下。

安装npm i imports-loader -D

配置后this指向window:

全局Exports

全局导出一个模块:

加载Polyfills

当新的 JavaScript 特性或 API 被引入时,旧版浏览器可能不支持这些特性。Polyfills 通过提供与新特性相同功能的代码,使得这些特性在旧版浏览器中也能正常工作。

npm i @babel/polyfill -D

优化polyfill

不建议直接使用import @babel/polyfill,这样做会全局引入整个polyfill包,比如array.from全局引入,不但体积大,而且还会污染全局环境。使用babel-preset-env

npm i babel-loader @babel/core @babel/preset-env -D

创建Library

自定义一个模块打包,可供使用

配置library,type可以设置为:window,commonjs,module,amd等等,可以设置为umd可满足多个type但不包括module

发布为npm-package

登录npm

npm config get registry

npm adduser输入用户名密码等

npm publish发布,其他人可以使用

使用时npm i 名字 -D

然后可以使用require引入:

相关推荐
我爱学习_zwj5 分钟前
什么是 AJAX ?
笔记
1101 110110 分钟前
STM32-笔记35-DMA(直接存储器访问)
笔记·stm32·嵌入式硬件
职业考试资料墙11 分钟前
特种作业操作证考试题库及答案(登高架设作业)
学习·考试·题库
无所谓จุ๊บ16 分钟前
VTK知识学习(29)-交互问题
学习·vtk
智识世界Intelligence21 分钟前
美国宏观经济基础框架梳理
经验分享·笔记·深度学习·信息可视化·学习方法
世事如云有卷舒25 分钟前
RISC-V学习笔记
笔记·学习·risc-v
Q_192849990625 分钟前
基于Spring Boot的智能笔记的开发与应用
spring boot·笔记·后端
盐盐8876901 小时前
【信息系统项目管理师】【综合知识】【备考知识点】【思维导图】第十一章 项目成本管理
数据库·经验分享·笔记·运维开发·学习方法
从善若水1 小时前
【Rust 学习笔记】Rust 基础数据类型介绍——指针、元组和布尔类型
笔记·学习·rust
TripleEyeAlien2 小时前
Swift Combine 学习(三):Subscription和 Subscriber
学习·ios·swift