2017-10-20 229 views
1

我有一個基於全球app變量,然後通過gulpfile遷移老式骨幹模塊ES6模塊

view1.js

var app = app || {} 
app.View1 = Backbone.View.extend({}); 

捆綁宣佈以這種方式所有這些模塊view2.js

var app = app || {} 
app.View1 = Backbone.View.extend({}); 

所以我參考使用的文件:

var app = app || {}; 
new app.View1(); 
new app.View2(); 

在這一點上這種方法已經過時。

使用babel INFACT我想使用新的時尚模塊出口

view1.js

import Backbone 
export default = Backbone.View.extend({}); 

現在,我的問題是,我想開始不編輯遷移與browserify編譯舊模塊(至少現在)。我想類似的東西:

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各種全局爲_$是不確定的。 關於如何保持這兩種類型的模塊並將它們捆綁在一起的任何想法?

回答

1

在你的主文件可以導入jQuery_並指定爲Backbone像這樣:

import $ from "jquery"; 
 
import _ from "underscore"; 
 

 
Backbone.$ = $; 
 
Backbone._ = _;

,然後在其他文件,你可以用Backbone.$ & Backbone._到使用underscorejquery

或者僅將它們作爲依賴項導入使用underscorejQuery的文件中。這是做到這一點的正確方法。

+0

uhmmm它可以工作,但我想避免修改所有的舊文件 – steo

+0

好吧,你將不得不從''下劃線''導入_和從$ jquery中導入$然後使用它們。這是唯一的兩個選擇。 – Win