如何在 Symfony 项目中使用 jQuery 和 webpack-encore?

How to use jQuery with webpack-encore in a Symfony project?

我对 webpack-encore 和 jQuery 有疑问。 我有一个包含此代码的 custom.js 文件:

import "../css/custom.css";

var $ = require("jquery");

global.$ = global.jQuery = $;

在 twig 文件中我有这段代码:

<script src="{{asset('build/js/custom.js')}}"></script>
<script>
    $(document).ready(function (){
        alert("1");
    })
</script>

作为参数传递到 custom.js 的路径是正确的。

当我使用 yarn run encore dev 编译时,jQuery 模块不在为 custom.js 生成的文件中,而是在另一个名为 0.b9e94bd1.js.

的文件中

问题是它给我错误 $ is not defined

我该如何解决这个问题?

我解决了这个问题。我用 encore_entry_script_tags 更改了树枝内的资产功能,现在定义了 jQuery 和 $。

我建议您在 webpack.config.js

中取消对这一行的注释
     // uncomment if you're having problems with a jQuery plugin
    .autoProvidejQuery()

https://symfonycasts.com/screencast/webpack-encore/autoprovide-jquery-modules