使用HtmlWebpackPlugin的Entrypoint undefined = index.html

xah*_*uzu 19 node.js reactjs webpack html-webpack-plugin

我正在使用Webpack 4而我正在创建配置文件,当试图HtmlWebpackPlugin在控制台上使用它时:Entrypoint undefined = index.html它打开浏览器并且HTML确实出现但是我在控制台上收到这个奇怪的消息,如何解决这个问题?

这就是我的配置文件的样子:

'use strict'

const webpack = require('webpack')
const { join, resolve } = require('path')

const HtmlWebpackPlugin = require('html-webpack-plugin')

module.exports = {
  mode: 'development', // dev
  devtool: 'cheap-module-eval-source-map', // dev
  entry: join(__dirname, 'src', 'index.js'),
  output: {
    filename: 'bundle.js',
    path: resolve(__dirname, 'dist')
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loader: 'babel-loader'
      }
    ]
  },
  resolve: {
    extensions: ['*', '.js', '.jsx']
  },
  devServer: {
    contentBase: resolve(__dirname, 'build')
  },
  plugins: [
    new webpack.ProgressPlugin(),
    new HtmlWebpackPlugin({
      template: join(__dirname, 'public', 'index.html')
    }),

    new webpack.HotModuleReplacementPlugin(), // dev
    new webpack.NoEmitOnErrorsPlugin() // dev
  ]
}
Run Code Online (Sandbox Code Playgroud)

Sak*_*oor 6

试试这个你可能会错误的模板路径:

 new HtmlWebpackPlugin({
        template: resolve(__dirname, 'src/public', 'index.html'),
        filename: './index.html'
      }),
Run Code Online (Sandbox Code Playgroud)

如果public在src文件夹中,这应该工作这是我的假设.如果问题仍然存在,请告诉我.

  • 你错了,`src`是组件所在的位置,`public`是静态文件就像`index.html`.我注意到这个消息只出现在`webpack-dev-server`上,不仅对我而且对很多人来说,包括Youtube上的教程,它似乎是无害的,我可以通过使用`stats来摆脱它: {children:false}` (9认同)

小智 5

根据其创建者的说法,HtmlWebpackPlugin这只是一条毫无意义的日志消息和一个可以忽略的外观问题。请参阅问题的评论。