2016-01-02 26 views
6

Khi tôi chạy webpack, tôi nhận được lỗi này: (. newline thêm cho rõ ràng)webpack không tìm thấy

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

Nhưng tôi chắc chắn rằng game.js tồn tại.

Đây là những gì webpack.config.js của tôi trông giống như:

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)/} 
     ] 
    } 
}; 

Tôi không chắc chắn làm thế nào để điều tra thêm vấn đề này.

Trả lời

3

Khi tôi chạy đùa, với tất cả những gì thiết lập theo hướng dẫn jest webpack, tôi nhận được tin nhắn này:

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 

Vì vậy, tôi đã học được rằng vấn đề là một giá trị cấu hình thiếu. Thêm này để webpack.config.js tôi đã giải quyết vấn đề này cho tôi:

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

Tùy chọn webpack entry thường giải quyết để một File Module.

Vì vậy, có lẽ những gì bạn cần là để chỉ ra đường dẫn tương đối để mô-đun game.js tập tin của bạn:

entry: "./game.js", 

Nếu không webpack sẽ cố gắng để tải nó như là một mô-đun lõi hoặc từ node_modules thư mục.

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

Lạ, nó hoạt động với điểm nhập của tôi ở trên, khi tôi có 'resolve.root' được đặt trong cấu hình webpack của tôi. – bigblind

+0

Hoặc bạn có thể đặt resolve.root - không cần '/', './' hoặc '../' trong trường hợp đó –

+0

đây là câu trả lời đã giúp tôi! –

0

Bạn cần phải nói với webpack để nạp module (bạn game.js) từ một trong hai __dirname hoặc bất kỳ đường dẫn mà bạn xác định. Với webpack 2, có hai lựa chọn:

Giải pháp 1: Thêm phần này vào webpack.config.js: resolve: { modules: [__dirname, 'node_modules'] } Giải pháp 2: Prefix game.js của bạn với ./ hoặc một cái gì đó giống như __dirname + '/game.js'.

Các vấn đề liên quan