使用HtmlWebpackPlugin的Entrypoint undefined = index.html

时间:2018-08-25 00:32:18

标签: 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
  ]
}

5 个答案:

答案 0 :(得分:7)

尝试一下;您可能制作了错误的模板路径:

 new HtmlWebpackPlugin({
        template: resolve(__dirname, 'src/public', 'index.html'),
        filename: './index.html'
      }),

如果public在src文件夹中,这应该可以工作这是我的假设。 让我知道问题是否仍然存在。

答案 1 :(得分:3)

根据HtmlWebpackPlugin的创建者来看,这只是毫无意义的日志消息,也是可忽略的修饰问题。有关该问题,请参见this comment

答案 2 :(得分:0)

模板扩展似乎触发了不需要的加载程序,这似乎是一个问题。如果将该模板的扩展名更改为其他任何扩展名,则该插件将起作用。

如果您使用的是默认的Webpack模板系统(从Webpack 4开始,为EJS,则使用import numpy as np X = np.random.randint(5, size=(6, 100)) y = np.array([1, 2, 3, 4, 5, 6]) from sklearn.naive_bayes import MultinomialNB clf = MultinomialNB() clf.fit(X, y) MultinomialNB(alpha=1.0, class_prior=None, fit_prior=True) clf.feature_log_prob_ 是有意义的,因为模板不再是有效的ejs:< / p>

html

webpack默认情况下认为模板为EJS,并会使用适当的加载程序自动对其进行处理。如果使用任何其他模板系统,则必须添加相应的加载程序。有关official documentation的更多信息。

答案 3 :(得分:0)

plugins: [
      ...
      new HtmlWebPackPlugin({
        title: '...',
        template: path.resolve(folderSrc, 'index.html'),
        filename: 'index.html',
        hash: true
      })
    ]

答案 4 :(得分:0)

通过在 webpack.config.js 中添加这个来修复我的错误:

    stats: { children: false }, //to fix the error-Entrypoint undefined=index.html  
      plugins:[  
          new HtmlWebpackPlugin({  
             template: './index.html'  
          })  
      ]