如何在node.js ES5中分解多个文件中的方法链以进行模块化?

发布时间:2020-07-07 16:58

我发现了这篇很棒的文章,介绍如何在nodejs es5中创建方法链接 https://dev.to/nedsoft/method-chaining-in-javascript-3klb

但是,在某种程度上,我们可能想将我们的方法链实现分解为多个文件。我不知道该怎么做。

回答1

我找到了如下解决方案。

// 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上面的所有宝贵意见。