【Webpack】加载其他型模块

非模块化文件
非模块化文件指的是并不遵循任何一种模块标准的文件。
最常见的就是在 script标签引用jQuey及其各种插件

如何使用 Webpack打包这类文件呢? 其实只要直接引人即可,如:

import './jquery.min.js';

但假如我们引人的非模块化文件是以隐式全局变量声明的方式暴露其接口的,则会发生问题,如:

// 通过在顶层作用城声明交量的方式暴露接口
var calculator = {
   
   
	// ...
}

由于 Webpack在打包时会为每一个文件包装一层函数作用域来避免全局污染,上面的代码无法把calculator对象挂载全局,因此这种以隐式全局变量生命需要额外注意

AMD
AMD是英文Asynchronous Module Definition (异步模块定义)的缩写,从名字就可以看到和CommonJS和ES6 Module最大的区别在于它加模块的方式是异步的。下面就是一个例子

define('getsum' , ['calculator'], function(math) (
	return function(a, b) {
   
   
		console.log('sum:'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值