这是我的配置文件,我已经尝试与html加载器它的工作正常的.html文件,但我现在试图学习和使用handlebarsjs它的工作不一样.我也尝试使用预处理器选项的html加载器,其中我创建了一个函数来读取.hbs文件,但我一直得到错误.
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: './src/index.js',
plugins: [
new HtmlWebpackPlugin({
title: 'Output Management',
template: './src/index.hbs'
}),
],
devtool: 'inline-source-map',
devServer: {
static: './dist',
hot: true,
},
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, 'dist'),
publicPath:'/dist/',
clean:true,
},
mode: 'development',
module: {
rules: [
{
test: /\.css$/i,
use: ['style-loader', 'css-loader'],
},
{
test: /\.(png|svg|jpg|jpeg|gif)$/i,
type: 'asset/resource',
generator: {
filename: 'assets/img/[hash][ext][query]'
}
},
{
test: /\.hbs$/i,
use: ['handlebars-loader'],
},
],
},
};
1条答案
按热度按时间nimxete21#
以下解决方案应适用于Webpack 5:
webpack.config.js
中,对handlebars-loader
使用inlineRequires
选项:在
handlebars-loader
文档中,inlineRequires
选项:定义一个正则表达式,用于标识helper/partial参数中应被内联require语句替换的字符串。
如果资源中有多个子文件夹(例如:
/img
、/audio
、/video
),请使用以下正则表达式: