Laravel Mix 我无法访问我的 javascript 类

Posted

技术标签:

【中文标题】Laravel Mix 我无法访问我的 javascript 类【英文标题】:Laravel Mix I have no access to my javascript class 【发布时间】:2021-04-27 00:41:38 【问题描述】:

在我的 laravel 项目中,我编写了一个自定义表单验证类。使用 npm run dev 编译后,我无法访问此类。

我的文件

small-form-validation.js

class SmallFormValidator 
    errMsgs = 
        required: 'This field is required!',
        string: 'Not valid string.',
        ...

我的 app.js

require('./bootstrap');
require('./myvendor/small-form-validator');

编译后,我在公共文件夹内新创建的 app.js 文件中找到了来自 SmallFormValidator 类的源代码。看来他编译的没错。

在我的刀片模板中,我使用混合助手加载 app.js 文件。在刀片模板内的 Javscript 中,我无法创建 SmallFormValidation 的实例(var sfv = new SmallFormValidation())。

我认为问题导致

    我不使用模块导出等 或者我有一些范围问题。

有人知道如何解决这个问题吗?

【问题讨论】:

【参考方案1】:

一个简单的解决方法是将其分配给您的全局/窗口对象。在small-form-validation.js 中添加window.SmallFormValidator = SmallFormValidator 以使其全球可访问。

更好的方法是使用模块导出和导入

【讨论】:

你能解释一下模块的方式吗?

以上是关于Laravel Mix 我无法访问我的 javascript 类的主要内容,如果未能解决你的问题,请参考以下文章

$(...).DataTable 在使用 Laravel Mix 时不是函数

Laravel home(~) SCSS 路径无法正确解析

带有Laravel Mix的字体和图像源位于子文件夹中

Laravel Mix 和 VUE,未找到 VUE

无法在 Laravel 项目中使用 deploy.sh 文件运行“npm run prod”(使用 Laravel Mix)

在 AWS Serverless 平台上部署 Laravel (laravel-mix) 应用程序