Webpack 2: cannot resolve Modul
Habe ich ein Projekt wie dieses:
root/
webpack-config.js
app/
app.js
js/
dep.js
core/
module.js
Hier ist das webpack config-Datei:
module.exports = {
entry: './app/app.js',
output: {
path: __dirname,
filename: "[name]-bundle.js"
},
module: {
loaders: [
{ test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/ }
]
},
resolve: {
modulesDirectories: ['core']
}
...
in app.js habe ich:
import local_dep from './js/dep';
import myModule from 'module';
Funktioniert dies wie erwartet mit webpack 1.x, aber das Modul myModule nicht gelöst mit webpack 2, ich bin immer "Modul nicht gefunden: kann nicht aufgelöst werden 'Modul' in ... \app".
Scheint es, die modulesDirectories Eintrag wird ignoriert, und die Basis-URL entspricht dem Eintrag Ordner.
Was kann ich tun, um Module zu lösen, richtig mit webpack 2 ?
- Christopher Davies hat die richtige Antwort ist, sollten Sie es aktivieren.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Edit: Wie andere schon bemerkt, für Webpack 2, so etwas wie dies funktioniert:
Für Webpack 1, ich habe ein setup, das hat dieser Eintrag:
resolve.modules
Objekt ersetztmodulesDirectories
undroot
aus: http://moduscreate.com/webpack-2-tree-shaking-configuration/
Im Webpack 2 Resolver von
root
,modulesDirectories
, undfallback
Einstellungen verschmelzen in einer einzigen Eigenschaft –modules
. Hier ist, wie können wir beheben, Datei-und Modul-Standorten in Webpack 2:Können Sie eine Anzahl von Verzeichnissen in
modules
, aber stellen Sie sicher, nicht zu vergessennode_modules
oder npm package-Abhängigkeiten werden nicht geladen.So, in Ihrem Fall zu dem, was vorher war:
muss nun
Dank an Christopher Davies habe das problem behoben durch hinzufügen von:
Musste ich hinzufügen resolveLoader Linie sonst war ich immer eine Fehlermeldung über babel-loader konnte nicht geladen werden.