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

在Laravel 5.6中使用自定义JavaScript函数,javascript,laravel,laravel-5.6,Javascript,Laravel,Laravel 5.6,我在使用Laravel5.6中的自定义JavaScript函数时遇到了一些问题,无法找出我做错了什么 我在/assets/js/中创建了一个自定义文件,标记为helpers.js,具有以下功能: export const isBetween = function(n, a, b) { return (n - a) * (n - b) <= 0 }; 如果我在app.js中执行console.log(isBetween(20,1,40),它会正常工作。但是,我无法在刀片模板中执行;

我在使用Laravel5.6中的自定义JavaScript函数时遇到了一些问题,无法找出我做错了什么

我在/assets/js/中创建了一个自定义文件,标记为helpers.js,具有以下功能:

export const isBetween = function(n, a, b) {
    return (n - a) * (n - b) <= 0
};
如果我在app.js中执行console.log(isBetween(20,1,40),它会正常工作。但是,我无法在刀片模板中执行;控制台日志说它没有定义。例如:

<script type="text/javascript">
    jQuery(document).ready(function($) {
        console.log(isBetween(20, 1, 40));
    });
</script>

jQuery(文档).ready(函数($){
log(介于(20,1,40)之间);
});

如果您在带有
npm run watch
的终端中运行mix,但仍遇到此问题,请再次检查以确保您的刀片模板中包含了混合资源:

<script src="{{ mix('js/app.js') }}"></script>


另外,请确保此
标记位于任何其他JS脚本之上。

如果您在带有
npm run watch
的终端中运行mix,并且仍然遇到此问题,请再次检查以确保您的刀片模板中包含了混合资产:

<script src="{{ mix('js/app.js') }}"></script>


另外,请确保此
标记位于任何其他JS脚本之上。

我们在ES6/ES5中使用
导入
来导入特定模块。但如果您想在app.JS之外使用它,则必须将其设置为全局变量,如下所示:


window.isBetween=isBetween;//将其添加到helpers.js中

我们在ES6/ES5中使用
import
来导入特定模块。但如果您想在app.js之外使用它,则必须将其设置为全局变量,如下所示:


window.isBetween=isBetween;//在helpers.js中添加此项

谢谢您的评论,但是是的,我正在运行npm run watch,app.js高于我的其他脚本。我正在使用而不是mix(),但是我也试过了,没有成功。谢谢你的评论,但是是的,我正在运行npm run watch,app.js高于我的其他脚本。我正在使用而不是mix(),但我也尝试了,但没有成功。很好,这解决了我的问题,所以我接受它作为答案,但我很好奇这是否是Laravel应用程序的最佳实践?如果你有两个单独的脚本(app.js和其他脚本),那么使用全局变量是完全好的这是相互依赖的。您所要确保的是它们不会与其他JS脚本或库冲突。通常,编写良好的库封装了大多数变量,所以我认为您不必担心这一点。但是如果您想变得非常谨慎,您可以这样命名它:
window.myAppName={};window.myAppName.isBetween=isBetween
并在JQuery中使用
myAppName.isBetween(…)
。这样,您的所有全局函数都可以共享您的应用程序名称空间。很好,这解决了我的问题,所以我接受它作为答案,但我很好奇这是否是Laravel应用程序的最佳实践?如果您有两个单独的脚本(app.js和其他脚本),那么使用全局变量是非常好的这是相互依赖的。您所要确保的是它们不会与其他JS脚本或库冲突。通常,编写良好的库封装了大多数变量,所以我认为您不必担心这一点。但是如果您想变得非常谨慎,您可以这样命名它:
window.myAppName={};window.myAppName.isBetween=isBetween
并在JQuery中使用
myAppName.isBetween(..)
。这样,所有全局函数都可以共享应用程序命名空间