65

我第一次尝试运行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'
4

12 回答 12

104

解决

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

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

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


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

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

webpack 4不需要定义入口点:它将./src/index.js作为默认值!

于 2018-04-11T10:36:48.023 回答
22

在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',
于 2018-11-23T11:18:00.407 回答
4

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

context: __dirname + '/src',
entry: './index.js',
于 2020-05-18T13:17:22.900 回答
3
webpack ./src/js/app.js --output ./dist/app.bundle.js --mode development

这对我有用。我遇到了同样的问题,这是因为 webpack 的新版本

于 2018-08-08T00:47:00.397 回答
1

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

https://webpack.js.org/api/cli/

webpack 的版本是 4.44.1

于 2020-09-14T01:22:44.870 回答
0

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

于 2019-03-19T06:03:54.587 回答
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你可以原样离开

于 2020-06-04T02:13:09.267 回答
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 提到的,您不需要提及入口点,也将其删除,并且经过长时间的挫折后编译了应用程序。

于 2020-07-28T06:10:52.533 回答
0

所以我敢打赌的问题是很多人的问题是我根据我的整个应用程序根目录设置了入口路径。所以就我而言,它是/client/main.ts。但是因为我的 webpack.config.js 文件实际上在 /client 中,所以我必须进入该文件夹才能运行 webpack。因此,我的条目现在正在寻找 /client/client/main.ts。

因此,如果您收到此错误,您需要真正查看您的入口路径,并根据您运行 webpack 的位置以及 webpack.config.js 文件的位置确保它是正确的。您的入口路径需要与您运行 webpack 的位置相关。与您的应用根目录无关。

于 2020-09-13T01:31:47.880 回答
0

在 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 文件的人来说显然非常重要(它不需要)

于 2020-11-28T15:08:53.570 回答
0

webpack version 4.46.0 也许有人在从 webpack 4 迁移到 5 的过程中卡住了。

如果有多个 webpack 配置文件并且如果有人使用merge:说webpack.common.js依赖于一些variables传递自cli例如:

module.export = (env) => {
  const {myCustomVar} = env;

  return {
    // some common webpack config that uses myCustomVar
  }
}

当您需要常用配置时webpack.prod.js

const { merge } = require('webpack-merge'); // <-- `merge` is now named import if you are using > v5
const common = require('./webpack.common.js');

const getProdConfig = () => {....}

module.exports = (env) => {
  return merge(common(env), getProdConfig()); // <-- here, `call` common as its exported as a fn()
};

于 2022-01-03T11:01:50.560 回答
0

把这个留在这里,以防有人不注意像我这样的细节,我有同样的错误,但是因为我的 webpack 配置文件在 webpack.config.js 上被命名为 webpack.config,所以我的自定义配置从未被挑选和webpack 回退到默认条目“src/index.js”

于 2022-01-25T15:46:33.070 回答