我正在使用带有HtmlWebpackPlugin,html-loader和file-loader. 我有一个简单的项目结构,其中我不使用任何框架,而只使用打字稿。因此,我将我的 HTML 代码直接写入index.html. 我也使用这个 HTML 文件作为我在HtmlWebpackPlugin.
正如所有网站一样,我需要在我的资产文件夹中放置一个引用 PNG 的图像。file-loader应该正确加载文件将新文件名放在src标签内,但这不是正在发生的事情。相反,作为src标签的值,我有[object Module]. 我假设它会发出一些对象,并且在运行它的方法file-loader时它是这样表示的。.toString()但是,我可以看到file-loader已成功处理文件并以新名称将其发送到输出路径。我没有错误。这是我的 webpack 配置和index.html.
const projectRoot = path.resolve(__dirname, '..');
{
entry: path.resolve(projectRoot, 'src', 'app.ts'),
mode: 'production',
output: {
path: path.resolve(projectRoot, 'dist'),
filename: 'app.bundle.js'
},
resolve: {
extensions: ['.ts', '.js']
},
module: {
rules: [
{
test: /\.html$/i,
use: 'html-loader'
},
{
test: /\.(eot|ttf|woff|woff2|svg|png)$/i,
use: 'file-loader'
},
{
test: /\.scss$/i,
use: [
{
loader: MiniCssExtractPlugin.loader,
options: {
hmr: false
}
},
{
loader: 'css-loader',
options: {
sourceMap: false
}
},
{
loader: 'sass-loader',
options: {
sourceMap: false
}
}
]
},
{
exclude: /node_modules/,
test: /\.ts$/,
use: 'ts-loader'
}
]
},
plugins: [
new CleanWebpackPlugin(),
new HtmlWebpackPlugin({
template: path.resolve(projectRoot, 'src', 'index.html')
}),
new MiniCssExtractPlugin({
filename: '[name].[hash].css',
chunkFilename: '[id].[hash].css',
ignoreOrder: false
})
]
};
呼唤远方
大话西游666
幕布斯7119047
相关分类