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

时间:2018-04-11 10:36:48

标签: npm webpack webpack-4

我第一次尝试 webpack-4

webpack ./src/js/app.js ./dist/app.bundle.js

显示警告/错误:

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

然后我尝试更改模式

webpack --mode development

它显示:

ERROR in Entry module not found: Error: Can't resolve './src'

10 个答案:

答案 0 :(得分:28)

<强>解决

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

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

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


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

默认情况下,webpack 4不需要配置文件!

webpack 4 无需定义入口点:默认为./src/index.js

答案 1 :(得分:4)

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

解决方案:使用默认行为

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

此杠杆webpack@4 default value for entry

  

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

解决方案:具体

正如@Lokeh指出的那样,如果您不想更改JS文件的位置,则可以始终在path.resolve()中使用webpack.config.js

entry: path.resolve(__dirname, 'src') + '/path/to/your/file.js',

答案 2 :(得分:3)

在webpack.config.js中显式添加上下文已解决我的问题。在您的项目中修改以下代码:

context: __dirname + '/src',
entry: './index.js',

答案 3 :(得分:1)

webpack ./src/js/app.js --output ./dist/app.bundle.js --mode development

这对我有用。我也遇到了同样的麻烦,这是因为有一个新版本的webpack

答案 4 :(得分:1)

我遇到了类似的错误,并且能够使用命令webpack src/index.js -o dist/bundle.js解决了这个问题,-o做到了。问题不是index.js的位置,而是缺少用于定义输出路径位置的运算符。

请参见https://webpack.js.org/api/cli/

webpack的版本为4.44.1

答案 5 :(得分:0)

自webpack ^ 4.29.6起,您不需要任何配置文件,因此无需在package.json中提供路径,我们只需编写“ build”:“ webpack”,并将index.js保留为src文件夹中的入口点。但是,如果要更改入口点,可以在webpack配置文件中进行

答案 6 :(得分:0)

对于Rails 6应用程序,此步骤对我有用:

1)bundle exec rails webpacker:install 系统将重新安装webpacker,但将重写一些文件:

  modified:   config/webpack/environment.js
  modified:   config/webpacker.yml
  modified:   package.json
  modified:   yarn.lock

2)使配置返回初始状态:

git checkout config/webpack/environment.js

git checkout config/webpacker.yml

package.jsonyarn.lock,您可以照原样离开

答案 7 :(得分:0)

与其他人一样,花费了很多时间来解决这个令人讨厌的问题。最后将webpack.config.js更改如下:-

output: {
  path: path.resolve(__dirname, './src'), //src instead of dist
  publicPath: '/src/', //src instead of dist
  filename: 'main.js' //main.js instead of build.js
}

...就像爱德华·洛佩兹(Edouard Lopez)和萨比尔·侯赛因(Sabir Hussain)提到的那样,您无需提及入口点,也应删除该入口点,并在长时间的挫败之后对应用进行编译。

答案 8 :(得分:0)

所以我要下很多人的问题是,我基于整个应用程序的根目录设置了输入路径。因此,在我的情况下,是/client/main.ts。但是因为我的webpack.config.js文件实际上位于/ client内部,所以我不得不移至该文件夹以运行webpack。因此,我现在输入的内容是/client/client/main.ts。

因此,如果您遇到此错误,则需要真正查看您的输入路径,并根据运行webpack的位置和webpack.config.js文件的位置确保其正确。您的输入路径必须相对于您运行webpack的位置。与您的应用程序根目录无关。

答案 9 :(得分:0)

changing between React/Rails gems时,我遇到了这个问题。运行rails webpacker:install使我恢复到Rails Webpacker的默认设置,但也覆盖了我的所有配置文件。经过仔细检查,罪魁祸首竟然是我的webpack/development.js文件,该文件在以前的gem版本中已从以下Rails Webpacker默认值进行了修改:

process.env.NODE_ENV = process.env.NODE_ENV || 'development'

const environment = require('./environment')

module.exports = environment.toWebpackConfig()

一旦我将文件还原到那些内容,此错误就消失了。具体来说,我已经错过了module.exports = environment.toWebpackConfig()行,对于那些想要避免Rails webpacker认为需要src / index.js文件(不需要)的人来说,这显然很重要