我在使用Laravel5.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>
发布于 2018-09-29 05:04:52
我们使用ES6/ES5中的import
来导入特定的模块。但是如果你想在你的app.js之外使用它,那么你必须让它成为一个全局变量,如下所示:
window.isBetween = isBetween; // add this in helpers.js
发布于 2018-09-29 04:49:02
如果您在使用npm run watch
的终端中运行mix,但仍然遇到此问题,请仔细检查以确保您的刀片模板中包含了mix资产:
<script src="{{ mix('js/app.js') }}"></script>
此外,请确保此<script>
标记位于任何其他JS脚本之上。
https://stackoverflow.com/questions/52562369
复制相似问题