Laravel Elixir:创建在另一个 javascript 文件中定义的 javascript class 的对象

Laravel Elixir : Create an object of a javascript class defined in another javascript file

我正在使用 laravel 5.3 和 vuejs。我在一个名为 form.js 的 js 文件中定义了一个名为 'Form' 的 javascript class,我想在 app.js 中创建这个 class 的对象文件。我在 webpack 中添加了两个 js 文件,我还需要 app.js 中的 'form.js' 文件。但是我收到以下错误:

Uncaught ReferenceError: Form is not defined ...

这是我的 app.js 代码:

require('./bootstrap');
require('./form.js');

formElm = document.getElementById('form');

new Vue({
    el: "#form",
    data: {
        form: new Form(formElm)
    },
    methods: {
        ....
    }
});

这是我的 form.js 代码:

class Form {
    constructor(formElm) {
        ...
    }
    ...
}

这就是我在 gulpfile.js 中添加 js 文件的方式:

elixir(mix => {
    mix.sass('app.scss')
       .webpack(['app.js', 'form.js'], 'public/js/app.js');
});

我是不是漏掉了什么?

我猜你必须导出它才能使用它。在您的表格 class 中: module.exports=Form 或者如果你使用 es6 导入语法 export default Form

在您的应用程序中,js var Form = require('./form.js') 应该可以正常工作