我是模块化 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);
最佳答案
您可以导入任何导出的内容。
Frog .js
const a = () => ...;
function b() {
...
}
function c() {
...
}
class D {
...
}
module.exports = { a, b, c, D };
index.js
import { a, D } from './frog'
使用上面的方法,你也可以反过来做。在不同的文件中创建子功能,并让您的 frog
库导入它们并将其全部导出为模块。
关于javascript - 如何模块化和组合我的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45393033/