webpack | 进阶用法 3:如果将代码打包成一个通用 JS 库。
需求:
需要打包压缩和非压缩两版本
支持 AMD/CJS/ESM 模块导入
1. 打包的库使用方式
ES module
复制代码
CommonJS
复制代码
AMD
复制代码
script 标签加载使用库
复制代码
2. 构建配置
复制代码
暴露库的方式有以下几种:
变量:作为一个全局变量,通过
script
标签来访问(libraryTarget:'var'
)。this:通过
this
对象访问(libraryTarget:'this'
)。window:通过
window
对象访问,在浏览器中(libraryTarget:'window'
)。UMD:在 AMD 或 CommonJS 的
require
之后可访问(libraryTarget:'umd'
)。
如果设置了 library
但没设置 libraryTarget
,则 libraryTarget
默认为 var
.
3. 配置 package.json
包的引用入口文件,配置 package.json 的 main 字段为 index.js,并书写代码如下:
复制代码
5. 附录
webpack 进阶用法 4:构建速度和体积优化策略(待发布)
webpack 进阶用法 5:持续集成,Travis CLI 使用(待发布)
版权声明: 本文为 InfoQ 作者【梁龙先森】的原创文章。
原文链接:【http://xie.infoq.cn/article/cf7e64bc44e011501a137198c】。文章转载请联系作者。
评论