JavaScript模块化和依赖注入之间的区别

萨伯

javascript代码的模块化(通过示例进行browserify)和依赖注入有什么区别?

他们是同义词吗?两者在一起吗?还是我错过了一点?

模块化是指将代码分为独立的独立“程序包”。
依赖注入是指未对其他模块的引用进行硬编码。

作为一个实际的例子,您可以编写不使用依赖注入的模块:

import { Foo } from 'foo';

export function Bar() {
    return Foo.baz();
}

在这里,您有两个模块,但是此模块导入一个特定的其他硬编码模块。

使用依赖注入编写的同一模块:

export function Bar(foo) {
    return foo.baz();
}

然后其他人可以将其用作:

import { Foo } from 'foo';
import { Bar } from 'bar';

Bar(Foo());

您可以在调用时注入Foo依赖项,而不是对依赖项进行硬编码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章