Webpack 4:找不到Entry模块中的ERROR:错误:无法解析'./src'

Sab*_*ain 22 npm webpack webpack-4

我第一次尝试运行webpack-4

webpack ./src/js/app.js ./dist/app.bundle.js
Run Code Online (Sandbox Code Playgroud)

它显示警告/错误:

WARNING in configuration
The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults for each environment.
You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/concepts/mode/

ERROR in multi ./src/js/app.js ./dist/app.bundle.js
Module not found: Error: Can't resolve './dist/app.bundle.js' in 'D:\wamp64\www\webpack-4'
 @ multi ./src/js/app.js ./dist/app.bundle.js
Run Code Online (Sandbox Code Playgroud)

然后我试着改变模式

webpack --mode development
Run Code Online (Sandbox Code Playgroud)

表明 :

ERROR in Entry module not found: Error: Can't resolve './src'
Run Code Online (Sandbox Code Playgroud)

Sab*_*ain 38

解决

花了很多时间找出解决方案.

解决方案:将index.js文件添加到src文件夹

就是这样!..解决了:)


在研究期间,我发现了一些关于webpack 4的事实:

webpack 4默认不需要配置文件!

4的WebPack无需定义切入点:将需要./src/index.js作为默认!

  • @MertMetin如果您不想更改js文件位置,您可以随时使用这个答案。/sf/ask/3167863331/#51668282 (2认同)

Édo*_*pez 6

now.sh上部署时遇到此问题

解决方案:使用默认行为

将入口点移动到src/index.js.

此杠杆webpack@4默认值为entry:

默认情况下,其值为./src/index.js,但您可以通过在webpack配置中配置entry属性来指定不同的(或多个入口点).

解决方案:具体

作为@Lokeh指出的那样,如果你不想改变你可以随时使用您的JS文件位置path.resolve()webpack.config.js:

entry: path.resolve(__dirname, 'src') + '/path/to/your/file.js',
Run Code Online (Sandbox Code Playgroud)


小智 6

在 webpack.config.js 中显式添加上下文为我解决了问题。在您的项目中调整以下代码:

context: __dirname + '/src',
entry: './index.js',
Run Code Online (Sandbox Code Playgroud)