[英]How to properly import/export a method in node js
我目前正在尝试从 class 导入一个方法,以保持一切整洁,因为我计划导入的方法会很长。 但是,每次打开它时,我似乎都会收到一个新错误。 最大的问题是似乎不想与我一起使用的导入/导出和“事件”参数。
编辑:如果我简单地结合两个类并将方法放在 ImportingClass.js 中,代码就可以工作,但是代码太多了。
验证输入.js:
class ValidateInput
{
validateInput(event)
{
var ID = event.target.StudentID.value;
// ...
}
}
导入类.js:
import {validateInput} from '../ValidateInput';
class ImportingClass
{
handleSubmit(event)
{
validateInput(this.event);
// ...
}
}
错误:未捕获的类型错误:(.validateInput)不是 function
但我们也可以这样做
创建独立的 function validateInput
export function validateInput(e){
.... code
}
为了在你的第一个 class 中调用这个 function 是ValidateInput.js我们可以做这样的事情
class ValidateInput{
validateInput(){
validateInput.apply(this, ...args)
}}
在您的第二个文件ImportingClass.js中,您可以导入并使用import {validateInput} from './validateInput'
或者您可以通过类似这样的原型导出它
export const validateInput = ValidateInput.prototype.validateInput
验证输入.js:
class ValidateInput
{
validateInput(event)
{
var ID = event.target.StudentID.value;
// ...
}
}
exports.ValidateInput = ValidateInput;
ValidateInput
class 导入您想要使用的模块中。导入类.js:
// import {validateInput} from '../ValidateInput';
const fileName = require(../ValidateInput.js);
class ImportingClass
{
handleSubmit(event)
{
fileName.ValidateInput.validateInput(this.event);
// ...
}
}
我使用了命名空间fileName
来避免混淆。 它指的是文件。 访问的第一个属性是您的 class 名称,然后是您要调用的方法。 如果您对文件使用几乎相同的名称 class 和方法名称,这可能会有点混乱。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.