Я использую Symfony 4 с Symfony Encore для обработки ресурсов и некоторых полезных функций, таких как HMR.
В настоящее время я могу работать с файлами Sass, CSS, JS и т. Д., И он отлично работает с HMR.
Теперь я хотел бы иметь возможность заставить сервер Weback dev отслеживать файлы * .twig на предмет изменений и запускать перезагрузку в режиме реального времени (поскольку горячая перезагрузка не подходит для шаблонов, отображаемых на сервере).
Я видел кое-что о --watchContentBase
и contentBase
опциях, но в моем случае это ничего не дает:
WDS CLI:
./node_modules/.bin/encore dev-server --hot --disable-host-check --watchContentBase --contentBase ./templates/ --reload
webpack.config.js:
const Encore = require('@symfony/webpack-encore');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
Encore
.setOutputPath('public/build/')
.setPublicPath('/build')
.cleanupOutputBeforeBuild()
.autoProvidejQuery()
.addPlugin(new MiniCssExtractPlugin('[name].css'))
.enableSourceMaps(!Encore.isProduction())
.addLoader({
test: /\.(sc|sa|c)ss$/,
use: ['css-hot-loader'].concat(
MiniCssExtractPlugin.loader,
{
loader: 'css-loader'
},
{
loader: 'postcss-loader'
},
// {
// loader: 'postcss-loader'
// },
{
loader: 'sass-loader'
}
),
},)
.addLoader({
test: /\.twig$/,
loader: 'raw-loader'
},)
.enableVersioning(Encore.isProduction())
.addEntry('autocall-main', './assets/js/index.js')
// .addStyleEntry('autocall-main', ['./assets/scss/index.scss'])
.splitEntryChunks()
.enableSingleRuntimeChunk()
;
const config = Encore.getWebpackConfig();
module.exports = config;
Файлы / папки моего проекта соответствуют классической структуре Symfony 4: https://github.com/symfony/demo
Что мне там не хватает?