これはアマチュアの質問のように見えるかもしれませんが、私は私のwebpack.config.jsがWebpackで複数のページを作成するには?
var HtmlWebpackPlugin = require('html-webpack-plugin')
var HtmlWebpackHarddiskPlugin = require('html-webpack-harddisk-plugin')
var ExtractTextPlugin = require('extract-text-webpack-plugin')
var webpack = require('webpack')
var path = require('path')
var isProd = process.env.NODE_ENV === 'production' // true or false
var cssDev = ['style-loader', 'css-loader', 'sass-loader']
var cssProd = ExtractTextPlugin.extract({
fallback: 'style-loader',
loader: ['css-loader', 'sass-loader'],
publicPath: '/dist'
})
var cssConfig = isProd ? cssProd : cssDev
module.exports = {
entry: {
app: './src/app.js'
},
output: {
path: path.resolve(__dirname, 'dist'),
filename: '[name].bundle.js'
},
module: {
rules: [
{
enforce: 'pre',
test: /\.js$/,
use: 'eslint-loader',
exclude: /node_modules/
},
{
test: /\.scss$/,
use: cssConfig
},
{
test: /\.js$/,
exclude: /node_modules/,
use: 'babel-loader'
},
{
test: /\.pug$/,
use: 'pug-loader'
}
]
},
devServer: {
contentBase: path.join(__dirname, 'dist'),
compress: true,
hot: true,
open: true
},
plugins: [
new HtmlWebpackPlugin({
title: 'Project Demo',
hash: true,
alwaysWriteToDisk: true,
template: './src/index.pug'
}),
new HtmlWebpackHarddiskPlugin(),
new ExtractTextPlugin({
filename: 'app.css',
disable: !isProd,
allChunks: true
}),
new webpack.HotModuleReplacementPlugin(),
new webpack.NamedModulesPlugin()
]
}
は基本的に、私の設定ファイルが現在HtmlWebpackPlugin
にを使用しているファイルであるWebPACKの
で他のページを作成するトラブルを抱えています私のindex.pug
src
フォルダからindex.html
をdist
フォルダに出力します。
ただし、別のページを作成する場合はどうすればよいですか。たとえば、約ページ。
私がsrc
フォルダにabout.pug
を作成した場合、設定ファイルに含めたため、Webpackで処理されません。しかし、私はこれを達成する方法がわかりません。
どのように私は入力など、私のsrc
フォルダ内のabout.pug
gallery.pug
contact.pug
として異なるパグファイルは、その後、私はあなたがHtmlWebpackPlugin
の複数のインスタンスを作成することができると信じてabout.html
gallery.html
contact.html
ディレクトリ全体を含めることはできません。 – Bizzet
できるとは思わないでください。会社のネットワークでGitHubにアクセスすることはできませんが、https://github.com/jantimon/html-webpack-plugin#generating-multiple-html-filesで検索しました –
または、ループを作成して配列を生成できます。 –