我是webpack新手,所以如果我正在尝试使用Webpack来做一些不适合的事情,我会提前道歉。
我正在使用webpack发布我的第一个库。我在我的项目和节点(或commonjs)环境中有大量的UMD模块我希望保留目录结构,而在浏览器环境中我想将所有模块捆绑在一起。我的问题是如何实现这一目标。当我在我的输入文件中有这样的东西时 -
(function(root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['metaAnalytics'], factory);
} else if (typeof module === 'object' && module.exports) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory(require('./AnalyticsNode.js'));
} else {
// Browser globals (root is window)
root.metaAnalytics = factory(require('./AnalyticsBrowser.js'));
}
}(this, function(DAClient) {
//do something with DAClient
}));
我通过webpack传递上述文件,它没有将依赖项中的代码引入输出文件。如何让webpack自动将AnalyticsBrowser.js及其所有依赖项打包到一个包中?这可能吗?
注意 - 我删除了UMD包装器并用简单的require语句替换它们,webpack能够将代码编译到输出中。所以我的问题是为什么它无法将UMD模块的依赖项编译到输出文件中。