imports,顾名思义是导入的意思,这个loader的作用与exports-loader刚好相反,是用来将其它模块导入到当前模块中。这个loader常常在处理一些非模块化规范编写的文件时被用到。
举个简单的例子,有模块b
,依赖全局变量window.a
,那么在没有使用模块化规范的情况下,有可能它的代码中会直接写a
:
// 模块b直接依赖全局变量a
a.xxx();
而如果a
经过webpack打包,则很有可能不会暴露全局变量,此时就需要使用imports-loader来对a
进行导入。
todo:例子
require('imports?$=jquery!./example.js');
require('imports?$=jquery,angular,config=>{size:50}!./file.js');
imports?$=jquery
imports?angular
imports?define=>false
this
还原为window
imports?this=window
一目了然,不再解释。