找不到webpack入口模块

时间:2016-01-02 20:12:43

标签: webpack babeljs

当我运行webpack时,我收到此错误:

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

(为了清晰起见,添加了换行符。)

但我确定game.js存在。

这是webpack.config.js的样子:

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

我不确定如何进一步调查此问题。

3 个答案:

答案 0 :(得分:8)

webpack entry选项通常会解析为File Module

因此,您可能需要指出game.js文件模块的相对路径:

entry: "./game.js",

否则webpack会尝试将其作为核心模块加载,或者从node_modules文件夹加载。

  

没有领先' /','。/'或' ../'表示文件,模块   必须是核心模块或从node_modules文件夹加载。

答案 1 :(得分:2)

当我按照jest webpack教程运行jest时,我收到了这条消息:

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

所以我了解到问题是缺少配置值。将此添加到我的webpack.config.js为我解决了这个问题:

 "resolve": {
    "root": __dirname
}

答案 2 :(得分:0)

您需要告诉webpack从game.js或您定义的任何路径加载模块(您__dirname)。使用webpack 2,有两种选择:

解决方案1: 将其添加到webpack.config.js resolve: { modules: [__dirname, 'node_modules'] } 解决方案2: 使用game.js./之类的内容为__dirname + '/game.js'添加前缀。