首先我知道有很多类似的问题,但没有一个解决了我的问题。
我有app.js:
import $ from 'jquery';
$(document).ready(function () {
...
});
window.$ = $;
和我的index.blade.php文件:
<html>
<head>
@vite(['resources/js/admin/app.js', 'resources/css/admin/app.css'])
</head>
<body>
...
<script type="text/javascript">
$(document).ready(function() {
// Throws: $ is not defined
});
</script>
</body>
</html>
它永远无法访问jquery。我已经尝试了一切。其他库可以正常工作,但 jQuery 却不行。
你已经很接近了...Vite 将 JS 作为模块加载,因此你需要使用
<script type="module">
而不是 <script type="text/javascript">
才能正常工作:
<script type="module">
$(document).ready(function() {
});
</script>
我的
vite.config.js
里也有这个,但我不是100%确定需要它:
// ...
resolve: {
alias: {
'$': 'jQuery',
}
}