Добрый день!
Задался вопросом как настроить 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];
Структура (для примера):
buildsrc/
---
/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