2016-05-23 8 views
1

Ich benutze SkriptKarma webpack Fehler: keine solche Datei oder das Verzeichnis/_karma_webpack_/

// src/test-index.js 
const context = require.context('./src', true, /-test\.js$/) 
context.keys().forEach(context) 

und ich halte in die Irre läuft

> NODE_ENV=test karma start --single-run --no-auto-watch 
... 
ERROR [karma]: { Error: no such file or directory 
    at MemoryFileSystem.readFileSync (PROJECT_ROOT/node_modules/memory-fs/lib/MemoryFileSystem.js:107:10) 
    at MemoryFileSystem.readFile (PROJECT_ROOT/node_modules/memory-fs/lib/MemoryFileSystem.js:297:21) 
    at doRead (PROJECT_ROOT/node_modules/karma-webpack/index.js:156:26) 
    at Plugin.readFile (PROJECT_ROOT/node_modules/karma-webpack/index.js:160:3) 
    at _combinedTickCallback (internal/process/next_tick.js:67:7) 
    at process._tickCallback (internal/process/next_tick.js:98:9) 
    code: 'ENOENT', 
    errno: 34, 
    message: 'no such file or directory', 
    path: '/_karma_webpack_/test-index.js' } 
Error: no such file or directory 
    at MemoryFileSystem.readFileSync (PROJECT_ROOT/node_modules/memory-fs/lib/MemoryFileSystem.js:107:10) 
    at MemoryFileSystem.readFile (PROJECT_ROOT/node_modules/memory-fs/lib/MemoryFileSystem.js:297:21) 
    at doRead (PROJECT_ROOT/node_modules/karma-webpack/index.js:156:26) 
    at Plugin.readFile (PROJECT_ROOT/node_modules/karma-webpack/index.js:160:3) 
    at _combinedTickCallback (internal/process/next_tick.js:67:7) 
    at process._tickCallback (internal/process/next_tick.js:98:9) 

Hier Link zu gist mit meinem karma.conf.js und webpack.config.js. Ich habe andere Dateien verlassen, da diese (plus die test-index.js oben) die einzigen Dateien sind, die am aktuellen Prozess beteiligt sind.

Knoten v6.2.0, npm v3.8.9 (installiert über nvm). Alle Abhängigkeiten wurden in den letzten paar Stunden installiert, daher verwende ich die neuesten Versionen.

Irgendwelche Ideen über was könnte falsch sein oder was könnte ich sonst noch versuchen?

Antwort

1

Das Problem war mit dem Versuch, meine ursprüngliche Konfiguration für Karma webpack Config Key wieder zu verwenden. Was wichtig ist, ist hier module Objekt und node Objekt (verhindern kann nicht Modul „fs“ Fehler finden)

webpack: { 
    module: { 
    loaders: [ 
     { 
     test: /\.js$/, 
     exclude: /node_modules/, 
     loader: 'babel' 
     } 
    ] 
    }, 
    externals: { 
    cheerio: 'window', 
    'react/addons': true, 
    'react/lib/ExecutionEnvironment': true, 
    'react/lib/ReactContext': true 
    }, 
    node: { 
    fs: 'empty' 
    } 
}, 

:

Ich habe das Problem, indem Karma config gelöst. Der externals Teil ist spezifisch für enzyme und wurde von Enzyme + Karma + Webpack guide kopiert. Beachten Sie auch, dass keine explizite resolve Deklaration existiert, da das Webpack automatisch '.js' und '.json' hinzufügt, da das Enzym intern beide Dateien benötigt. Eine Alternative wäre, json loader explizit zu deklarieren.

Verwandte Themen