我在Laravel 5.6中使用自定义JavaScript函数时遇到了一些麻烦,无法弄清楚我做错了什么。
我在 / assets / js / 中创建了一个自定义文件,标记为 helpers.js ,具有以下功能:
export const isBetween = function(n, a, b) {
return (n - a) * (n - b) <= 0
};
然后,在 app.js 中,我导入了文件:
import { isBetween } from './helpers.js';
如果我在app.js中执行 console.log(isBetween(20,1,40)),则它可以正常工作。但是,我无法在刀片模板中执行;控制台日志显示它没有定义。例如:
<script type="text/javascript">
jQuery(document).ready(function($) {
console.log(isBetween(20, 1, 40));
});
</script>
答案 0 :(得分:2)
我们在ES6 / ES5中使用import
导入特定模块。但是,如果要在app.js之外使用它,则必须将其设置为全局变量,如下所示:
window.isBetween = isBetween; // add this in helpers.js
答案 1 :(得分:0)
如果您正在使用npm run watch
的终端中运行混合,但是仍然遇到此问题,请仔细检查以确保在刀片模板中包括混合资产:
<script src="{{ mix('js/app.js') }}"></script>
此外,请确保此<script>
标签位于其他任何JS脚本的上方。