Javascript 如何模块化和组合我的库?
我是模块化JS的新手,但我喜欢这个概念。我想写我的小库来测试一下。这就是我希望它看起来的样子:Javascript 如何模块化和组合我的库?,javascript,node.js,module,lodash,Javascript,Node.js,Module,Lodash,我是模块化JS的新手,但我喜欢这个概念。我想写我的小库来测试一下。这就是我希望它看起来的样子: 它有5种方法 您可以下载导出全局变量Frog的完整库。这是一个模块,它本身没有任何功能,但它下载了5个独立的方法作为依赖项 您可以访问Frog库的所有方法,如normal,例如Frog.get()、Frog.animate()等 我知道如何写这样的东西,但我能像这样模块化它吗 var animate = require("./Frog.animate"); animate(something);
- 它有5种方法
- 您可以下载导出全局变量Frog的完整库。这是一个模块,它本身没有任何功能,但它下载了5个独立的方法作为依赖项
- 您可以访问Frog库的所有方法,如normal,例如Frog.get()、Frog.animate()等
var animate = require("./Frog.animate");
animate(something);
- 您可以下载5个模块中的4个
- 第一个下载的名为Frog.animate的模块创建一个空的Frog对象,并添加.animate方法
- 第二个下载的名为.css的模块使用.animate获取上一个Frog对象,并将.css添加到该对象中
- 等等。。。基本上只向一个对象添加方法
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
库将它们导入并全部作为模块导出。您不应将CommonJS模块与ES模块IMHO混合,这可能会导致错误(尤其是导出默认值
行为)。