webpack 除了打包应用,也可以用来打包js库和一些自定义组件库。 单纯只是打包js库和组件库的话 使用 rollup 打包也是一个不错的选择。 我们来实现一个简单的打包例子,这个例子需要满足以下几点功能: 需要支持打包 压缩版(x.min.js) 和 非压缩版本(x.js) 。 支持 AMD/CJS/ESM 模块引入。 支持通过 script 脚本直接引入链接。 // ESM import * as Tool from 'tools' ; //cjs const Tool = require ( 'tools' ) ; // AMD require ( [ 'tools' ] , function ( ) { ... } ) // script 脚本 < script src = "https://xxx.com/tools" > < / script > 如何将库暴露出去? library :指定库的全局变量 libraryTarget :支持库引入的方式 module . exports = { mode : 'production' , entry : { tools : "./src/index.js" , tools . min : "./src/index.js" } , output : { filename : "[name].js" , library :