2017-09-06 13 views
0

こんにちは私はRequireJSアプリをWebpackに移行しようとしています。私のすべてのjsファイルは、私がnode_modulesから何も使っていないプロジェクトに含まれています。なぜそこからインクルードしようとしていますか?これは、Webブラウザでのみ使用され、browserifyは使用しないWebプロジェクトです。Webpack 2とtypeahead.js

ここにあります私のwebpack.config.js:

module.exports = { 
    resolve: { 
     modules: [ 
      'private/application/controllers/' 
     ], 
     alias: { 
      typeahead: 'system/js/jquery.typeahead.min', 
      bloodhound: 'system/js/bloodhound.min', 
      ... 
     } 
    }, 
    module: { 
     loaders: [ 
      { test: /typeahead/, loader: 'imports-loader?jquery' }, 
      { test: /bloodhound/, loader: 'imports-loader?typeahead' }, 
      ... 
     ] 
    }, 
    plugins: [ 
     new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/) 
    ], 
    target: 'web', 
    entry: { 
     app: 'system/js/app', 
     module: 'system/js/module', 
     ... 
    }, 
    output: { 
     libraryTarget: 'amd', 
     filename: '[name].min.js', 
     path: __dirname + 'public/files/cache' 
    } 
}; 

私は取得していますエラー:

ERROR in ./node_modules/timers-browserify/main.js 
Module not found: Error: Can't resolve 'setimmediate' in '/Users/name/Sites/revamp/node_modules/timers-browserify' 
@ ./node_modules/timers-browserify/main.js 51:0-23 
@ ./private/application/controllers/system/js/jquery.typeahead.min.js 

ありがとう!

答えて

0

あなたのローダーは、それらのファイルのプロジェクトフォルダ全体を検索すると思います。 exclude: /node_modules/を各ローダーに追加できます。

module: { 
     loaders: [ 
      { test: /typeahead/, loader: 'imports-loader?jquery', exclude: /node_modules/ }, 
      { test: /bloodhound/, loader: 'imports-loader?typeahead', exclude: /node_modules/ }, 
      ... 
     ] 
    },