如何在 Symfony 项目中使用 jQuery 和 webpack-encore?
Posted
技术标签:
【中文标题】如何在 Symfony 项目中使用 jQuery 和 webpack-encore?【英文标题】:How to use jQuery with webpack-encore in a Symfony project? 【发布时间】:2021-01-01 05:57:32 【问题描述】:我对 webpack-encore 和 jQuery 有疑问。 我有一个包含以下代码的 custom.js 文件:
import "../css/custom.css";
var $ = require("jquery");
global.$ = global.jQuery = $;
在树枝文件中我有这个代码:
<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
我该如何解决这个问题?
【问题讨论】:
custom.js 是否引用了0.b9...
文件?
【参考方案1】:
我解决了这个问题。我用 encore_entry_script_tags 更改了树枝内的资产函数,现在定义了 jQuery 和 $。
【讨论】:
【参考方案2】:我建议你在 webpack.config.js 中取消注释这一行
// uncomment if you're having problems with a jQuery plugin
.autoProvidejQuery()
见https://symfonycasts.com/screencast/webpack-encore/autoprovide-jquery-modules
【讨论】:
以上是关于如何在 Symfony 项目中使用 jQuery 和 webpack-encore?的主要内容,如果未能解决你的问题,请参考以下文章
webpack encore symfony4中的bootstrap和jquery
在 Symfony v5.2 项目中使用 Jquery-validaton v1.19.3 + Bootstrap v4.6 进行输入验证