2017-09-06 1 views
0

Bonjour J'essaie de migrer une application RequireJS vers Webpack. Tous mes fichiers js sont inclus dans le projet Je n'utilise rien de node_modules. Pourquoi essaie-t-il d'inclure à partir de là? C'est un projet web qui ne sera utilisé que dans un navigateur web et n'utilise pas browserify.Webpack 2 et typeahead.js

Voici mes 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' 
    } 
}; 

L'erreur que je reçois:

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 

Merci!

Répondre

0

Je pense que vos chargeurs recherchent l'ensemble du dossier du projet pour ces fichiers. Vous pouvez essayer d'ajouter exclude: /node_modules/ à chaque chargeur.

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