在Laravel 5.6中使用自定义JavaScript函数

时间:2018-09-28 20:38:39

标签: javascript laravel laravel-5.6

我在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>

2 个答案:

答案 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脚本的上方。