如何将自定义模块加载与 webpack 集成?
How can I integrate custom module loading with webpack?
我在一个前端项目中使用 Webpack 1,我有一个遗留的内部 Javascript 库,它使用自己的模块系统,类似于 AMD。一个模块是用类似这样的代码定义的:
MyLib.define('module id', ['my', 'module', 'deps'], function (my, module, deps) { /* module code */});
然后你就可以用这样的代码来使用模块了:
MyLib.require(['dep1', 'dep2'], function (dep1, dep2) {});
我希望能够将 MyLib 与我已经在使用的所有其他 CommonJS 模块一起使用。 webpack 能以某种方式支持这个吗?
据我所知,Webpack 不支持自定义模块格式(如果其他人知道,我很乐意被证明是错误的)。
您也许可以通过编写 Webpack loader or a Babel plugin 将语法转换为 Webpack 支持的模块格式之一来解决此问题。后者是 Babel 在 Webpack 开箱即用地支持它们之前为 ES6 导入所做的——它只是将它们转换为 CommonJS require
调用。
我在一个前端项目中使用 Webpack 1,我有一个遗留的内部 Javascript 库,它使用自己的模块系统,类似于 AMD。一个模块是用类似这样的代码定义的:
MyLib.define('module id', ['my', 'module', 'deps'], function (my, module, deps) { /* module code */});
然后你就可以用这样的代码来使用模块了:
MyLib.require(['dep1', 'dep2'], function (dep1, dep2) {});
我希望能够将 MyLib 与我已经在使用的所有其他 CommonJS 模块一起使用。 webpack 能以某种方式支持这个吗?
据我所知,Webpack 不支持自定义模块格式(如果其他人知道,我很乐意被证明是错误的)。
您也许可以通过编写 Webpack loader or a Babel plugin 将语法转换为 Webpack 支持的模块格式之一来解决此问题。后者是 Babel 在 Webpack 开箱即用地支持它们之前为 ES6 导入所做的——它只是将它们转换为 CommonJS require
调用。