Javascript 如何从webpack 4中的供应商文件中获取变量
是否有任何方法可以从供应商文件访问变量e.q.Javascript 如何从webpack 4中的供应商文件中获取变量,javascript,webpack,webpack-4,Javascript,Webpack,Webpack 4,是否有任何方法可以从供应商文件访问变量e.q.Lobibox: /node\u modules/lobibox/js/notifications.js 在我自己的配置文件中:/assets/js/lobibox/config.js 仅用于覆盖Lobibox默认设置 这是我的堆栈: ./assets/js/lobibox/config.js: ./node_modules/lobibox/js/notifications.js: ./entryFile.js: 现在浏览器显示错误 uncaught
Lobibox
:
/node\u modules/lobibox/js/notifications.js
在我自己的配置文件中:/assets/js/lobibox/config.js
仅用于覆盖Lobibox默认设置
这是我的堆栈:
./assets/js/lobibox/config.js:
./node_modules/lobibox/js/notifications.js:
./entryFile.js:
现在浏览器显示错误
uncaughtreferenceerror:Lobibox未定义
用于加载您可以使用的旧代码
npm安装--保存开发脚本加载器
{
test: /lobibox\/js\/notifications/,
loader: "script-loader"
}
您应该能够在
窗口下访问Lobibox。Lobibox
您应该搜索一个术语“从节点模块重写方法”,下面是一个示例,不确定它是否100%适用于您的情况,但我认为这可能是更好地搜索解决方案的良好起点:如果您尝试notification.js中的window.Lobibox,它是否仍然未定义?@MarianBan yes仍然未定义。Lobibox未追加到窗口变量中。@Nezir,它不可用,因为require()
返回空对象。也许我可以加载供应商文件的内容,重写并执行。但现在我不知道这是否可能。完美的解决方案!它可以在没有窗户的情况下使用。Lobibox,只是Lobibox
在我的例子中,我使用脚本加载器就像这样:import'脚本加载器!//node_modules/lobibox/js/notifications.js'代码>
var Lobibox = Lobibox || {};
(function () {
// code ..
Lobibox.notify = function (type, options) {
// code ..
};
// code ...
}})();
// Notifications
import './../node_modules/lobibox/js/notifications.js';
import './static/js/notification.js'
{
test: /lobibox\/js\/notifications/,
loader: "script-loader"
}