Fooというnode_modules
にパッケージがあり、foo/module
などのライブラリ内のモジュールをwebpack&babel経由でインポートしたいとしましょう...
import Foo from 'foo';
は動作します
import SomeOtherModule from 'foo/module';
は次のエラーで失敗します。
モジュールが見つかりません:エラー:/ Users/x/Desktop/someproject/jsのモジュール 'foo/module'を解決できません
これにより、webpackはnode_modules
ではなく間違った場所でファイルを探しているように見えます。
私のwebpack.configは次のようになります。
var webpack = require('webpack');
var path = require('path');
module.exports = {
entry: ['babel-polyfill','./js/script.js'],
output: {
path: __dirname,
filename: './build/script.js'
},
module: {
loaders: [
{
test: /\.js$/,
loader: 'babel',
query: {
cacheDirectory: true,
presets: ['es2015']
}
}
],
},
plugins: [
new webpack.NoErrorsPlugin()
],
stats: {
colors: true
},
devtool: 'source-map'
};
import 'foo/module';
で動作するはずです。ファイル./node_modules/foo/module.js
または./node_modules/foo/module/index.js
およびnotのようなものが解決されます(./node_modules/foo/node_modules/module/index.js
のような場合)(その場合は、npm経由でモジュールをインストールする方が良いでしょう)。