我正在打包我们真正旧的JQuery代码,以便作为一个库公开。我已经成功地获得了最小化的输出,但无论我使用什么选项来表示库部分,它似乎根本无法识别该库。
下面是我最基本的设置,以及对我试图实现的目标的解释
const path = require('path');
module.exports = {
entry: './public_html/path/to/mchn-old.js',
output: {
filename: 'mchn.js',
path: path.resolve(__dirname, 'dist'),
libraryTarget: 'var',
library: 'MCHN',
},
};当我运行CLI来生成捆绑包时,一切都完成了,没有错误,但我换出了JS,它抛出了函数不存在的错误:
TypeError: MCHN.resizeMainElement is not a function
at (index):126
at pubads_impl_2020062201.js?21066633:6
at qg (pubads_impl_2020062201.js?21066633:6)这些函数是设置pre ES15类,看起来就像下面这样:
MCHN.waitForElement = function(selector, callback){
// console.log($(selector).length);
if ($(selector).length) {
callback();
} else {
setTimeout(function() {
MCHN.waitForElement(selector, callback);
}, 100);
}
}如何更改webpack配置的设置,以便生成一个允许我调用以下内容的文件:
MCHN.waitForElement('#randomElement'); 在文件被网络打包之后?
发布于 2020-07-08 00:14:49
好吧,我最终构建了每个库目标,看看我假设'var‘是正确的目标是否是错误的。这不是问题所在,问题是我没有在jQuery代码中包含模块导出对象。当我添加:
module.exports = {
waitForElement: MCHN.waitForElement,
}结合上面的配置,我能够调用库中的所有现有函数。
https://stackoverflow.com/questions/62764826
复制相似问题