我发现了这篇很棒的文章,介绍如何在nodejs es5中创建方法链接 https://dev.to/nedsoft/method-chaining-in-javascript-3klb
但是,在某种程度上,我们可能想将我们的方法链实现分解为多个文件。我不知道该怎么做。
我找到了如下解决方案。
// Validator.js
const Type = require('./type.validator')
const _ = require('lodash')
const proto = _.merge({}, Type)
const Validator = () => {
return _.create(proto)
}
module.exports = Validator
// type.validator.js
module.exports = {
isString () {
console.log('isString')
return this
},
isEmail () {
console.log('isEmail')
return this
}
}
// Use case
const Validator = require('./abc')
Validator().isString().isEmail()
此解决方案不仅演示了链接方法的分解,而且用户还将获得干净的自动完成和返回类型。
特别感谢@bergi上面的所有宝贵意见。