使用

  1. const path = require('path')
  2. module.exports = {
  3. mode: 'development',
  4. devtool: false,
  5. entry: './src/index.js',
  6. output: {
  7. filename: 'sy_utils.js',
  8. path: path.resolve(__dirname, 'dist'),
  9. libraryTarget: 'umd',
  10. library: 'syUtil',
  11. globalObject: 'this'
  12. }
  13. }

属性

library

输出一个库,为你的入口做导出

  1. output: {
  2. library: {
  3. name: 'MyLibrary',
  4. type:'umd'
  5. // 默认为 undefined,将会导出整个(命名空间)对象
  6. export: 'default',
  7. // 添加注释
  8. auxiliaryComment: {
  9. root: 'Root Comment',
  10. commonjs: 'CommonJS Comment',
  11. commonjs2: 'CommonJS2 Comment',
  12. amd: 'AMD Comment',
  13. },
  14. // 当使用 output.library.type: "umd" 时,将 output.library.umdNamedDefine 设置为 true 将会把 AMD 模块命名为 UMD 构建。否则使用匿名 define。
  15. umdNamedDefinetrue
  16. },
  17. },

libraryTarget未来可能放弃

导出的方式

globalObject

当输出为 library 时,尤其是当 libraryTarget 为 ‘umd’时,此选项将决定使用哪个全局对象来挂载 library。为了使 UMD 构建在浏览器和 Node.js 上均可用,应将 output.globalObject 选项设置为 ‘this’。对于类似 web 的目标,默认为 self。