javascript - 拉拉维尔。webpack.mix.php 是运行 Javascript 的唯一方法吗?
问题描述
我试图在 textarea 中添加一个简单的字符数,我花了一天的时间才让它工作。我想发布我学到的东西,并要求任何有帮助的用户澄清。
在我将脚本上传到ProjectRoot/resources/js/app.js之前,Laravel 没有运行 javascript 。
var maxLength = 100;
$('textarea').keyup(function() {
var length = $(this).val().length;
var length = maxLength-length;
$('#chars').text(length);
});
一旦代码在那里,我运行npm run dev(我已经在这个 piont 安装了 npm),然后才运行了 javascript。代码被传输到ProjectRoot/public/js/app.js(这是一个我找不到代码的大文件)目录中的 app.js 文件中。我假设,如果我错了,请纠正我,这意味着 npm run dev "converts" /"transfers" /"compiles" (这里的正确词是什么?) javascript 到 laravel webmix 系统。这就是我的知识和解决问题的能力已经耗尽的地方。
像这样和这样的文章听起来就像我可以将 javascript 放到任何 xxx.blade.php 文件中一样。其他一些不起作用的角度:
- 在 public/js 目录中导入 .js 文件。没运气。
<script src="{{asset('js/count.js')}}"></script>
当我在 app.blade.php 或带有文本区域的刀片文件中尝试它时不起作用。- 包括
*@section('script')*
也没有用。
我得到了经典的Uncaught ReferenceError: $ is not defined in the chrome inspector console,但是倒计时有效,所以我不确定发生了什么。
我可以使用 Laravel 在我的 xxx.blade.php 中运行 javascript 内联吗?
解决方案
在您要使用脚本的刀片文件中:
@push('js')
<script>
var maxLength = 100;
$('textarea').keyup(function() {
var length = $(this).val().length;
var length = maxLength-length;
$('#chars').text(length);
});
</script>
@endpush
并在您的 app.blade.php (包含所有 js/css 文件的主刀片)中
@stack('js')
推荐阅读
- javascript - 删除父 div 留下其子 div
- python - 如何将新词分类成亲和传播簇?
- vue.js - 如何使用 Vue.js 和 Nuxt 保护数据?
- google-sheets - Google Query Language 将不会显示位于单元格中提供的两个日期之间的范围
- r - 如何更改列表中数据框的列名
- php - Symfony - 在控制器中使用发布数据重定向
- javascript - 带有非拉丁字体的 jsPDF
- android - RecyclerView/Adapter 中的 TimePicker 使屏幕变暗
- bash - Bash:如果字符不存在,如何在行尾添加字符?
- sql - 根据季度查找所有记录