2016-08-03 7 views
4

次のようにマイフォルダの構造は次のとおりです。フォールバック解決ES6のインポートパスに

- test 
    - scripts 
     index.js 
     user.js 
- default 
    - scripts 
     index.js 
     api.js 
     user.js 

障害が発生した場合のフォールバックが必要がありますが、私は、ローカルにインポートパス( 『テスト』ディレクトリ)を解決する必要があります「デフォルト」のディレクトリで解決されます。

テスト/スクリプト/ index.jsのコードは次のとおりです。

... 
resolve: { 
    modules: [ 
     path.resolve('./default') 
    ] 
} 
... 

この設定は、すべて解決するのWebPACKを作る:私は次のような構成でWebPACKの2.1.0を使用してい

import api from 'scripts/api'; // should be taken from 'default' 
import user from 'scripts/user; // should take the local 'user.js' 
... 

モジュール'script/*'が 'default'を通るパスであり、相対パス'./script/*'がモジュールのディレクトリから抜けないので、フォールバックとして相対パスは使用できません。

それは、resolve.fallbackのように思えるがWebPACKの2

でサポートされていない私はnormal-module-factory->before-resolveにプラグインを作成しようとしましたが、私が受け取る唯一のパスは、エントリのパスです。

これを解決するための設定はありますか? カスタムローダーの作成は解決策ですか?あなたはこの

resolve: { 
    modules: [ 
    path.resolve(__dirname, 'path/to/source-folder'), 
    path.resolve(__dirname, 'path/to/fallback-folder'), 
    'node_modules', 
    ] 
} 

またはこのプラグインを試すを使用しようとすることができ

おかげ

+0

は[ 'resolve.modulesDirectories'](http://webpack.github.io缶/docs/configuration.html#resolve-modulesdirectories)help? –

+0

@CD ..私は恐れていません。私は先祖を探しているのではなく、あるレベルの兄弟のために探しています。また、解決策のwebpack 2の設定が1.xの設定と異なると言われています。 –

答えて

関連する問題