一尘不染

如何在节点 js 中正确导入/导出方法

javascript

我目前正在尝试从一个类中导入一个方法以保持一切整洁,因为我计划导入的方法会很长。但是,每次打开它时,我似乎都会收到一个新错误。最大的问题是似乎不想与我一起使用的导入/导出和“事件”参数。

编辑:如果我简单地结合两个类并将方法放在 ImportingClass.js 中,代码就可以工作,但是代码太多了。

ValidateInput.js:

class ValidateInput
{
    validateInput(event)
    {
        var ID = event.target.StudentID.value;
        // ...
    }
}

ImportingClass.js:

import {validateInput} from '../ValidateInput';

class ImportingClass
{

    handleSubmit(event)
    {
        validateInput(this.event);
        // ...
    }
}

错误:未捕获的 TypeError:(.validateInput) 不是函数


阅读 91

收藏
2022-07-26

共1个答案

一尘不染

但我们也可以这样做

创建一个独立的函数 validateInput

export function validateInput(e){
 .... code
}

为了在你的第一个类ValidateInput.js中调用这个函数, 我们可以做这样的事情

class ValidateInput{
  validateInput(){
    validateInput.apply(this, ...args)
}}

在您的第二个文件ImportingClass.js中,您可以导入并使用它import {validateInput} from './validateInput'

或者您可以通过类似这样的原型导出它

export const validateInput = ValidateInput.prototype.validateInput
2022-07-26