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

相关推荐
石像鬼₧魂石21 小时前
Fail2Ban 实战终极速查表
linux·windows·学习·ubuntu
代码游侠21 小时前
应用--Minishell实现
linux·运维·笔记·学习·算法
zore_c21 小时前
【C语言】Win 32 API——一部分内容详解!!!
c语言·开发语言·c++·经验分享·笔记
重生之我在番茄自学网安拯救世界21 小时前
网络安全中级阶段学习笔记(七):Web 安全之文件上传漏洞笔记1(包含upload-labs-master靶场前三关实战)
笔记·学习·web安全·文件上传漏洞·网安基础
走在路上的菜鸟21 小时前
Android学Dart学习笔记第十五节 类
android·笔记·学习·flutter
xian_wwq1 天前
【学习笔记】AI赋能安全运营中心典型场景
人工智能·笔记·学习
千天夜1 天前
深入排查Unity开发中的“要实例化的对象为空”异常:一次从报错到修复的完整历程
学习
知识分享小能手1 天前
CentOS Stream 9入门学习教程,从入门到精通,CentOS Stream 9 的 Docker 容器 —— 语法详解与实战案例(16)
学习·docker·centos
非凡ghost1 天前
FlexiPDF(专业PDF编辑软件)
windows·学习·pdf·软件需求
d111111111d1 天前
嵌入式面试问题:STM32中指针和数组的本质区别是什么,常用数组存储什么数据?
java·笔记·stm32·单片机·嵌入式硬件·学习