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引入:

相关推荐
Y4090015 分钟前
List、ArrayList 与顺序表
数据结构·笔记·list
F_D_Z12 分钟前
【感知机】感知机(perceptron)模型与几何解释
学习·算法·支持向量机
慕y2742 小时前
Java学习第一百一十部分——CI/CD
java·学习·ci/cd
Asu52022 小时前
思途AOP学习笔记 0806
java·sql·学习·mybatis
奶黄小甜包4 小时前
C语言零基础第9讲:指针基础
c语言·笔记·学习
泽虞5 小时前
C语言深度语法掌握笔记:语法陷阱、内存管理、指针系统
c语言·笔记·面试
m0_738206546 小时前
嵌入式学习的第四十四天-ARM
学习
yanxing.D6 小时前
考研408_数据结构笔记(第四章 串)
数据结构·笔记·考研·算法
-Xie-6 小时前
JVM学习日记(十五)Day15——性能监控与调优(二)
java·jvm·学习
冬夜戏雪7 小时前
java学习 leetcode24交换链表节点 200岛屿数量 +一些开发任务
java·学习·链表