2016-01-02 18 views
6

Kiedy biegnę WebPack, otrzymuję ten błąd: (. nowalinia dodaną dla jasności)WebPack Nie znaleziono

ERROR in Entry module not found: Error: Cannot resolve module 'game' 
in /Users/frederikcreemers/dev/dark_chess 

Ale jestem pewien, że game.js istnieje.

Oto co moja webpack.config.js wygląda następująco:

module.exports = { 
    entry: "game.js", 
    output: { 
     path: __dirname + "build", 
     filename: "index.js" 
    }, 
    module: { 
     loaders: [ 
      { test: /\.css$/, loader: "style!css" }, 
      { test: /\.jsx?$/, loader: "babel?presets[]=es2015", exclude: /(node_modules|bower_components)/} 
     ] 
    } 
}; 

nie jestem pewien jak to dokładniej zbadać ten problem.

Odpowiedz

3

Kiedy wpadłem żart, ze wszystko skonfigurować zgodnie z samouczka JEST WebPACK, mam komunikat:

Using Jest CLI v0.8.2, jasmine1 
FAIL __tests__/test_game.js 
● Runtime Error 
Error: Missing setting "resolve.root" in /Users/frederikcreemers/dev/dark_chess/webpack.config.js 

więc nauczyłem się, że problemem był brak wartości konfiguracji. Dodanie tego do mojego webpack.config.js rozwiązał problem dla mnie:

"resolve": { 
    "root": __dirname 
} 
7

Opcja WebPack entry zwykle rozwiązuje do File Module.

Więc chyba to, co potrzebne jest, aby wskazać ścieżkę względną do modułu game.js pliku:

entry: "./game.js", 

Inaczej WebPack spróbuje załadować go jako moduł rdzenia lub z node_modules folderu.

Without a leading '/', './', or '../' to indicate a file, the module must either be a core module or is loaded from a node_modules folder.

+0

Dziwne, działa z moim punktem początkowym powyżej, gdy mam 'resolve.root' ustawiony w mojej konfiguracji webpack. – bigblind

+0

Możesz też ustawić resolve.root - nie będzie potrzeby "/", "./" lub "../" w tym przypadku –

+0

to jest odpowiedź, która mi pomogła! –

0

Trzeba powiedzieć WebPack załadować moduły (ty game.js) z obu __dirname lub ścieżki zdefiniowanej. Z WebPacka 2, istnieją dwie możliwości:

Rozwiązanie 1: Dodaj to do webpack.config.js: resolve: { modules: [__dirname, 'node_modules'] } Rozwiązanie 2: Prefiks Twój game.js z ./ czy coś __dirname + '/game.js'.