2016-11-23 8 views
0

私はRequiresからwebpackに切り替えて、jsの読み込みに対処しようとしています。&そのようなものがあります。 RequireJsでwebpackのリゾルバの依存関係を指定するには?

それはモジュール

// file.js 
require(['moduleA','moduleB'],function(A,B) { 
    ... 
} 

の依存関係を指定することが可能だと私はmoduleAは、私は同じことを行うための方法を見つけようとしている

// requirejs.config.js 
require.config({ 
    ... 
    shim:{ 
     moduleA:{ 
      deps:['jquery'] 
     } 
    } 
}) 

例えばjqueryのが必要であることを指定したいですウェブパック内のもの

// webpack.config.js 
module.exports = { 
    entry: toObject(glob.sync('src/**/*.js*')), 
    output: { 
     path: './bin', 
     filename: '[name].js' 
    }, 
    resolve: { 
     alias: { 
      'moduleA': '/path/to/moduleA', 
      ... 
     } 
    } 
}; 

function toObject(paths) { 
    // I return an object of paths 
} 

しかし、私はそのモジュルを指定する方法を見つけることができませんeAに別のモジュールが必要です!

ここにヒントがありますか?

答えて

1

あなたはそうする必要はありません。必要なモジュールはrequire()で、利用可能になります。

RequireJSでこれを実行する必要がある理由は、RequireJSが非同期であり、モジュールが非同期にロードされ、最初に読み込むものを知る必要があるためです。 Webpack(一般的なCommonJS)は同期しています。モジュールに入ると、すべてがすでにロードされています。

+0

あなたは答えをThakしてください。私が理解すれば、それは、私のmoduleAがmoduleBを必要とするモジュールBを必要とするならば、私はmoduleBにmoduleCを、moduleAにmoduleBを必要とするだけであることを意味します。 – jiboulex

+0

それはまさに正しいです。 –

+0

しかし( 'bootstrap/js/collapse')が必要な場合は、私は "jsone.js:10515 Uncaught ReferenceError:jQueryが定義されていません(...)" – jiboulex

関連する問題