如何模块化和组合我的图书馆?

时间:2017-07-29 19:05:11

标签: javascript node.js module lodash

我是模块化JS的新手,但我喜欢这个概念。我想写我的小库来测试一下。这就是我希望它的样子:

  • 它有5种方法
  • 您可以下载导出全局变量的完整库 - Frog。它是一个模块,它本身没有任何东西,但它下载了5个独立的方法作为依赖项

  • 您可以像平常一样访问Frog库的所有方法,例如Frog.get(),Frog.animate()等。

我知道如何写这样的东西,但我可以像这样模块化吗?

  • 您可以下载5个模块中的4个
  • 第一个下载的名为Frog.animate的模块会创建一个空的Frog对象并添加.animate方法
  • 第二个下载的名为.css的模块使用.animate获取前一个Frog对象,并将.css添加到该对象
  • 等等...基本上只为一个对象添加方法

这样的事情可能吗?如何?我知道Lodash非常模块化,你可以采用樱桃的方法。它们只是单个函数,如forEach()而不是_.forEach()还是它有所不同?

我应该如何模块化所有这些Frog方法?将它们导出为这样的独立单个函数?

var animate = require("./Frog.animate");
animate(something);

1 个答案:

答案 0 :(得分:0)

您可以导入您导出的任何内容。

frog.js

const a = () => ...;

function b() {
    ...
}

function c() {
    ...
}

class D {
    ...
}

module.exports = { a, b, c, D };

index.js

import { a, D } from './frog'

使用上述内容,你也可以反过来做。在不同的文件中创建子功能,让您的frog库导入它们并将其全部导出为模块。