2016-05-09 13 views
1

私の会社では、重要なAMD RequireJSコードベースを持っており、その一部をバンドルするためにwebpackを使用しようとしています。Webpackバンドルrequirejs modules

somedir 
│ app.js 
│ 
└───anotherdir 
    | 
    ├─── module1 
    │  file1.js 
    │  file2.js 
    │ 
    ├─── module2 
    │  file3.js 
    │ 
    └─── module3 
      file4.js 
      file5.js 
      file6.js 

各ファイルには、そのように書かれている:ここで は、アーキテクチャがどのように見えるかであるインスタンスfile1.jsため

define('ATAG/MODULE/ID, ['somedeps'], function (somedeps) {}); 

そうは

define('ATAG/module1/file1, [], function() {}); 

のようになります。そして、我々はRequireJSの設定を持っていますATAGanotherdirにマッピングし、おそらく異なるタグにいくつかの設定を追加することができます。

今、webpackでapp.jsからバンドルを作成しようとしていますが、私たちが持っている振る舞いを複製する方法がわかりませんrequire.config({ paths: { ATAG: 'anotherdir' } })

これまでのところ、私の試みはresolve.aliasで成功していません。

私たちのRequireJS(相対パスは必要ありません)の使用法に基づいて、webpackでこれを実現することは可能ですか?

ありがとうございます。あなたがresolve.aliasと正しい道にあった

答えて

0

// foo.js 
var a = require('ATAG'); // resolved to anotherdir/index.js 
var b = require('ATAG/bar'); // resolved to anotherdir/bar.js 

// webpack.config.js 
const path = require('path'); 

module.exports = { 
    entry: './foo', 
    output: { 
     filename: 'bundle.js' 
    }, 
    resolve: { 
     alias: { 
      ATAG: path.join(__dirname, '/anotherdir') 
     } 
    } 
}; 
+0

は、あなたの答えをありがとうございました。それは働いているようだ! – kalnic29

関連する問題