我将按照文档说明来使Webpack Encore在我的项目中工作。
在webpack.config.js中导入的js文件正常工作,但是在特定于页面的js中存在问题:$未定义
。
Webpack.config.js:
const Encore = require('@symfony/webpack-encore');
var webpack = require('webpack');
Encore
.setOutputPath('public/build/')
.setPublicPath('http://localhost/tharmo/public/build')
.setManifestKeyPrefix('build/')
.cleanupOutputBeforeBuild()
.enableSourceMaps(!Encore.isProduction())
.autoProvidejQuery()
.createSharedEntry('vendor', [
'./assets/js/custom.js',
'materialize-css',
])
.addEntry('app', './assets/js/app.js')
.addEntry('statistiques', './assets/js/statistiques.js')
.addPlugin(new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery',
}))
.enableSassLoader()
;
module.exports = Encore.getWebpackConfig();
base.html.twig :
<script src="{{ asset('build/manifest.js') }}"></script>
<script src="{{ asset('build/vendor.js') }}"></script>
<script type="text/javascript" src="{{ asset('build/app.js') }}"></script>
<script>
$(document).ready(function () {
getNotifications(1);
});
</script>
$(document).ready无法工作。
defer: false
。因为某个Symfony配方更新将其设置为true,而我不知道它的作用,所以我花了一个小时撞墙。我还以为我要疯了。 - 94638857