Как использовать webpack для верстки многостраничных сайтов?

Добрый день!

Задался вопросом как настроить webpack в связки с express или browser-sync для верстки многостраничных сайтов.
Webpack только начал изучать и не совсем понимаю как это сделать, может быть кто то уже это реализовывал?

Суть следующая:
Есть к примеру два файла pug (использую препроцессор html - pugjs)
В package.json по команде:
- npm run start запускается babel-node tools/start.js
- npm run bundle запускается webpack сборщик babel-node tools/bundle.js

файл app.js содержит:
import main from 'main.pug';
import about from 'about.pug';


файл bundle.js содержит:
import webpack from 'webpack';
import webpackConfig from './webpack.config';

function bundle() {
    return new Promise((resolve, reject) => {
        webpack(webpackConfig).run((err, stats) => {
            if(err) {
                return reject(err);
            }

            return resolve();
        });
    });
}

export default bundle();


файл webpack.config.js содержит:
import path from 'path';
import webpack from 'webpack';
import HtmlWebpackPlugin from 'html-webpack-plugin';

const config = {
  name: 'config',
  entry: './public/app.js',
  output: {
        path: path.resolve(__dirname, '../build'),
        publicPath: '/',
        filename: '[name].js'
    },
  module: {
    rules: [
        {
            test: /\.pug$/,
            use: 'pug-html-loader'
        }
    ]
  }
}

export default [config];


Структура (для примера):
build
src/
---/image/
-------logo.jpg
---/styles/
-------style.less
---/scripts/
-------script.js
---app.js
---main.pug
---about.pug
tools/
---bundle.js
---start.js
---webpack.config.js
package.json

Как сделать так чтобы webpack создавал файлы в папке build следующее?:
build
---/image/
-------logo.jpg
---/styles/
-------style.css
-------style.min.css
---/scripts/
-------script.js
---main.html
---about.html
src
  • Вопрос задан
  • 6222 просмотра
Решения вопроса 1
@SeaBreeze876
Front-end разработчик
в entry webpack конфига может быть массив точек входа: ["./src/main.pug", "./src/about.pug"]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы