找不到webpack入口模块

big*_*ind 6 webpack babeljs

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

ERROR in Entry module not found: Error: Cannot resolve module 'game'
in /Users/frederikcreemers/dev/dark_chess
Run Code Online (Sandbox Code Playgroud)

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

但我确信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)/}
        ]
    }
};
Run Code Online (Sandbox Code Playgroud)

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

dre*_*cat 8

webpack entry选项通常解析为文件模块.

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

entry: "./game.js",
Run Code Online (Sandbox Code Playgroud)

否则webpack将尝试将其作为核心模块或node_modules文件夹加载.

如果没有前导'/','./'或'../'来表示文件,则模块必须是核心模块或从node_modules文件夹加载.


big*_*ind 2

当我运行 jest 并根据 jest webpack 教程设置所有内容时,我收到以下消息:

\n\n
Using Jest CLI v0.8.2, jasmine1\n FAIL  __tests__/test_game.js \n\xe2\x97\x8f Runtime Error\nError: Missing setting "resolve.root" in /Users/frederikcreemers/dev/dark_chess/webpack.config.js\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n
 "resolve": {\n    "root": __dirname\n}\n
Run Code Online (Sandbox Code Playgroud)\n