gpt4 book ai didi

symfony - Webpack Encore - $ 未定义

转载 作者:行者123 更新时间:2023-12-02 11:23:42 26 4
gpt4 key购买 nike

我按照文档使 Webpack Encore 在我的项目中工作。
在 webpack.config.js 中导入的 js 文件工作正常,但我在特定页面的 js 中遇到问题:$ is not defined .

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不起作用。

最佳答案

按照文档进行操作:https://symfony.com/doc/current/frontend/encore/legacy-apps.html

我必须在 app.js 中写这个:

// require jQuery normally
const $ = require('jquery');

// create global $ and jQuery variables
global.$ = global.jQuery = $;

我从 webpack.conig.js 中删除了它,因为它相当于 .autoProvidejQuery :
.addPlugin(new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery',
}))

感谢您的帮助 !

关于symfony - Webpack Encore - $ 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48971680/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com