2017-10-20 8 views
1

I持って、その後gulpfileは、モジュールをES6する昔ながらのバックボーンモジュールを移行

view1.js

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

を経由してバンドルされているグローバルapp変数に基づいてこのように宣言されているすべてのこれらのモジュールview2.js

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

だから私は以下のファイルを参照しています:

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

この時点では、このアプローチは時代遅れです。

私は新しいファッションのモジュールの輸出

view1.js今

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

を使用してbrowserifyでコンパイルしたいbabel Infactはを使用して、私の問題は、私は編集せずに移行を開始したいということです古いモジュール(少なくとも今のところ)。

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._を使用することができますunderscoreまたはjqueryを使用してください。

ORは、underscoreまたはjQueryを使用するファイルでのみ、それらを依存関係としてインポートします。これは正しい方法です。

+0

uhmmmこれまでのすべてのファイルを変更しないようにしたいのですが、 – steo

+0

あなたが持っているファイルの 'それらを使用してください。これらは唯一の2つのオプションです。 – Win

関連する問題