我正在将我的代码从“香草”迁移到 WebPack。以前加载了backbone.js
and以便稍后运行的代码可以看到下面的功能(这是我的观点的延伸。backbone.stickit.js
index.html
stickit()
Backbone.View.prototype
但是,在迁移到 WebPack 之后,我开始遇到错误,这this.stickit()
是未定义的,我通过将 require 添加到定义从以下位置扩展的视图的每个 JS 文件来摆脱Backbone.View
:
import Backbone from 'backbone';
require('backbone.stickit/backbone.stickit');
我对那个解决方案感觉不好。在那种特定情况下,它并没有那么糟糕,因为我的观点明确地使用了stickit。但是,有些模块和扩展会改变默认行为,我想在一个地方定义它们。
我应该如何处理它?我有一个导入 Backbone、应用所有插件并重新导出它的概念:
import Backbone from 'backbone';
require('backbone.stickit/backbone.stickit');
....
const Backbone2 = Backbone;
export {Backbone2};
这看起来有点太棘手了......
我应该怎么做?webpack层不应该在构建之后只包含一个Backbone的副本,不管它在多少地方被导入,以及需要哪些插件?