拉雷维尔。webpack.mix.php是运行Javascript的唯一方法吗?

拉雷维尔。webpack.mix.php是运行Javascript的唯一方法吗?,javascript,jquery,laravel,Javascript,Jquery,Laravel,我试图在文本区域中添加一个简单的字符计数,我花了一天的时间才让它工作起来。我想发布我学到的东西,并要求任何有帮助的用户澄清 在我将脚本上传到ProjectRoot/resources/js/app.js之前,Laravel没有运行javascript 代码出现后,我运行了npm运行dev(我已经在这个位置安装了npm),然后才运行javascript。代码被传输到ProjectRoot/public/js/app.js目录下的app.js文件中(这是一个我找不到代码的大文件)。我假设,如果我错了

我试图在文本区域中添加一个简单的字符计数,我花了一天的时间才让它工作起来。我想发布我学到的东西,并要求任何有帮助的用户澄清

在我将脚本上传到ProjectRoot/resources/js/app.js之前,Laravel没有运行javascript

代码出现后,我运行了npm运行dev(我已经在这个位置安装了npm),然后才运行javascript。代码被传输到ProjectRoot/public/js/app.js目录下的app.js文件中(这是一个我找不到代码的大文件)。我假设,如果我错了,请纠正我,这意味着npm运行dev将javascript“转换”/“传输”/“编译”(这里正确的词是什么?)转换到laravel webmix系统。这就是我的知识和解决问题的能力发挥出来的地方

文章喜欢并使其听起来像我可以将javascript放入任何xxx.blade.php文件中。其他一些不起作用的角度:

  • 在public/js目录下导入.js文件。不走运
  • 在app.blade.php或包含文本区域的blade文件中尝试时无效
  • 包括
    *@section('script')*
    也不起作用
我得到了chrome inspector控制台中没有定义的经典UncaughtReferenceError:$,但是倒计时工作正常,所以我不确定发生了什么


我可以在我的xxx.blade.php中使用Laravel内联运行javascript吗?

在您的blade文件中,您希望在其中使用脚本:

@push('js')
<script>
var maxLength = 100;
$('textarea').keyup(function() {
  var length = $(this).val().length;
  var length = maxLength-length;
  $('#chars').text(length);
});
</script>
@endpush

非常感谢。你会去哪里查这个?push命令用于“附加到集合”。为什么我需要将其附加到集合中?
@push('js')
<script>
var maxLength = 100;
$('textarea').keyup(function() {
  var length = $(this).val().length;
  var length = maxLength-length;
  $('#chars').text(length);
});
</script>
@endpush
@stack('js')