我正在使用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
]
}
答案 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'
})
]