2016-05-17 2 views
5

私はこのようなプロジェクトを設定しており、file-a.jsfile-b.jsから要求しようとしています。私はbabel-preset-es2015 6.6.0と6.2.4 babel-loaderを追加するまで親プロジェクトディレクトリのファイルにwebpackとbabelを使用する

project-name/ 
    node_modules/ 
    src/ 
    file-a.js 
    tools/ 
    tool-name/ 
     node_modules/ 
     src/ 
     file-b.js 
     webpack.config.js 
     package.json 
    package.json 

マイwebpack 1.13.0設定が働いていました。その後、私はエラーメッセージを取得し始めました。それは、上package.jsonbabel-preset-es2015を探しているので

ERROR in /home/dan/dev/dan/project-name/src/file-a.js Module build failed: Error: Couldn't find preset "es2015" relative to directory "/home/dan/dev/dan/project-name/src"

は、今私はこれが起こっていることを予感しています。私はそのレベルでそれをインストールすることでこのエラーをなくすことができますが、私はbabelモジュールに関する似たようなメッセージを受け取りません。私はあらゆる種類のものを試してみた

は、試してみて、手動でネストされたパスなしでフォルダを解決するためにresolve.rootresolve.aliasを使用し、内側のプロジェクトに上位srcディレクトリをシンボリックリンク。 contextを使用してプロジェクトルートを外部フォルダとして設定しましたが、依然として間違ったファイルが選択されました。node_modules

webpackに正しいnode_modulesフォルダを使用させるにはどうすればよいですか?

答えて

1

デフォルトでは、webpackは./node_modules../node_modules、および../../node_modulesです。 moduleDirectoriesin webpack's documentation

module.exports = { 
    // ... 
    resolve: { 
    modulesDirectories: [path.join(__dirname, 'node_modules')] 
    } 
} 

詳細:

特定のディレクトリを使用するだけにそれを強制するには、resolveセクション内のモジュールmodulesDirectoriesプロパティの絶対パスを設定することができます

関連する問題