- webpack除了可以打包应用,也可以用来打包js库
 实现一个大整数加法库的打包
未压缩版
large-number.js- 压缩版     
large-number.min.js|-dist |-large-number.js |-large-number.min.js |-src |-index.js
|-index.js |-webpack.config.js |-package.json 
支持的引入方式
- 支持ES module
 - 支持 CJS
 - 支持 AMD
 

// webpack.config.jsconst TerserPlugin = require('terser-webpack-plugin)module.exports = {mode: 'none',entry: {'large-number': './src/index.js','large-number.min': './src/index.js'},output: {filename: '[name].js',library: 'largeNumber',libraryTarget: 'umd',libraryExport: 'default'},optimization: {minimize: true,minimizer: [new TerserPlugin({ include: /\.min\.js$/ })]}}
// package.json{"main":"index.js","description": "大整数加法", // 这个描述是发布到npm上的时候的描述"script": {"prepublish": "webpack" // 发布到npm之前,进行打包}}
// 根目录下的index.jsif(process.env.NODE_ENV === 'production') {module.exports = require('./dist/largeNumber.min.js')} else {module.exports = require('./dist/largeNumber.js')}
- 发布到npm上
- 先要有一个npm的账号
 npm publish
 
