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
});