我正在尝试使用React为Ghost制作主题。我使用webpack作为我选择的构建工具。如何告诉webpack提供特定的.hbs
文件?现在看来,Webpack只支持.html
个文件。下面是我的开发配置... webpack通常支持传递给它的任何内容吗?
var path = require('path');
var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: [
'webpack-dev-server/client?http://localhost:2368',
'webpack/hot/only-dev-server',
'./src/router'
],
devtool: 'eval',
debug: true,
output: {
path: path.join(__dirname, 'public'),
filename: 'bundle.js',
//publicPath: '/static/'
},
resolveLoader: {
modulesDirectories: ['node_modules']
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin(),
new HtmlWebpackPlugin({
template: './public/default.hbs',
//hash: true,
inject: 'body',
filename: 'default.hbs'
})
],
resolve: {
extensions: ['', '.js', '.sass', '.css', '.hbs']
},
module: {
loaders: [
// js
{
test: /\.js$/,
loaders: ['babel'],
include: path.join(__dirname, 'src')
},
// CSS
{
test: /\.sass$/,
include: path.join(__dirname, 'src'),
loader: 'style-loader!css-loader!sass-loader'
},
// handlebars
{
test: /\.hbs$/,
include: path.join(__dirname, 'public'),
loader: 'handlebars-template-loader'
}
]
},
node: {
fs: 'empty'
}
};
答案 0 :(得分:0)
Webpack不支持.html
,HtmlWebpackPlugin
是执行html操作的代码。
HtmlWebpackPlugin
的基本目的是将编译后的文件作为script
/ link
标记附加到它获取的模板文件中,它可以与字符串替换一起使用,因此不会不管是什么文件。
在我的一个项目中,我使用PHP作为HtmlWebpackPlugin
注入捆绑包的模板。
因此,从理论上讲,HtmlWebpackPlugin
在不了解把手语法的情况下“支持”把手。
您可以做的是,在webpack将捆绑包注入到车把模板中之后,您可以阅读并将其用作模板,并使用车把的节点api渲染html。