webpack之打包libraryTarget

webpack之打包library

  1. library: “obj”, libraryTarget: “var” 声明了一个全局变量obj
  2. library: “obj”, libraryTarget: “commonjs” 顾名思义,不多解释
  3. library: “obj”, libraryTarget: “amd” 顾名思义,不多解释
  4. library: “obj”, libraryTarget: “umd” 顾名思义,不多解释

Library : [ˈlaɪbrəri] 图书馆,软件库
在这里插入图片描述

打包的文件:在这里插入图片描述
在这里插入图片描述

output.libraryTarget 属性表示以何种形式导出 JavaScript 模块。Webpack 在打包过程中会使用类 Node.js 的模块方式来构建项目,其中 libraryTarget 的值可以制定在服务器环境中如何使用这些模块。

常见的 output.libraryTarget 取值包括:

  • var: 把模块作为一个变量(变量名由 output.library 设置)放入全局对象上,在浏览器端使用时需要先加载该模块并引用相关变量。
  • commonjs: 以 CommonJS 模块定义方式导出,使这些模块可以在 Node.js 中被引用。
  • commonjs2: 和 commonjs 类似,但是会通过 module.exports 导出所有内容,适用于多个 CommonJS require 对同一个库进行重复调用的情况。
  • umd: 通用的模块定义方式,支持将模块以多种方式导出。可在 AMD、CommonJS 规范下直接使用,同时可直接导出到全局变量下,方法名通过输出的全局变量名称指定。
  • this: 将模块挂载到 this 上,在浏览器端使用时不需要先进行模块加载。
  • window: 跟 var 或 global 类似,就是把模块挂在 window 下面。
    可以根据需要选择合适的 libraryTarget,也可以通过 output.library 更改模块导出的名称,从而实现可控的模块导出。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值