Javascript 将旧式主干模块迁移到es6模块

Javascript 将旧式主干模块迁移到es6模块,javascript,backbone.js,babeljs,es6-modules,Javascript,Backbone.js,Babeljs,Es6 Modules,我所有这些模块都是以这种方式声明的,基于一个全局app变量,然后通过gulpfile view1.js view2.js 因此,我使用以下方法在文件之间引用: var app = app || {}; new app.View1(); new app.View2(); 在这一点上,这种方法已经过时 使用babelinfact我想使用browserify使用新的时尚模块导出进行编译 view1.js 现在,我的问题是,我想在不编辑旧模块的情况下开始迁移(至少目前是这样)。我试过这样的方法: im

我所有这些模块都是以这种方式声明的,基于一个全局
app
变量,然后通过
gulpfile

view1.js

view2.js

因此,我使用以下方法在文件之间引用:

var app = app || {};
new app.View1();
new app.View2();
在这一点上,这种方法已经过时

使用
babel
infact我想使用
browserify
使用新的时尚模块导出进行编译

view1.js

现在,我的问题是,我想在不编辑旧模块的情况下开始迁移(至少目前是这样)。我试过这样的方法:

import * as _ from "underscore";
import Backbone from "Backbone";
import * as LoginModal from "../views/loginModal";
import Router from "./router";

new LoginModal();
new Router();
Backbone.history.start({
    pushState : true,
    hashChange : false
});
问题是在
LoginModal
中,各种全局变量如
\uu
$
未定义。
您知道如何保存这两种类型的模块并将它们捆绑在一起吗?

在主文件中,您可以导入
jQuery
并将其分配给
主干网,如下所示:

从“jquery”导入$;
从“下划线”导入;
主干。$=$;

主干线您可以在Browserify选项中定义一些全局变量:


在网页包中,有一个用于全局模块的选项。

uhmmm它可以工作,但我希望避免修改所有旧文件。您必须从“下划线”
导入,然后从使用它们的文件中从“jquery”
导入$。这是唯一的两个选择。
var app = app || {};
new app.View1();
new app.View2();
import Backbone
export default = Backbone.View.extend({});
import * as _ from "underscore";
import Backbone from "Backbone";
import * as LoginModal from "../views/loginModal";
import Router from "./router";

new LoginModal();
new Router();
Backbone.history.start({
    pushState : true,
    hashChange : false
});