我正在使用Symfony 4和Symfony Encore来处理资产,以及一些有用的功能,如HMR。
目前,我可以处理Sass文件、CSS文件、JS等,并且它与HMR很好地配合使用。
现在,我希望能够使Weback dev服务器监视*.twig文件的更改并触发实时重新加载(由于热重新加载不适用于服务器端呈现的模板)。
我看到了关于
WDS CLI:
目前,我可以处理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
那里我错过了什么?