当我运行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)/}
]
}
};
我不确定如何进一步调查此问题。
答案 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'
添加前缀。