javascript 代码的模块化(以 browserify 为例)和依赖注入(inject)有什么区别?
它们是同义词吗?两人要在一起吗?还是我遗漏了一些要点?
最佳答案
模块化是指将代码分解成单独的、独立的“包”。
依赖注入(inject)是指不硬编码对其他模块的引用。
作为一个实际的例子,你可以编写不使用依赖注入(inject)的模块:
import { Foo } from 'foo';
export function Bar() {
return Foo.baz();
}
这里有两个模块,但是这个模块导入了一个特定的其他硬编码模块。
使用依赖注入(inject)编写的相同模块:
export function Bar(foo) {
return foo.baz();
}
然后其他人可以将其用作:
import { Foo } from 'foo';
import { Bar } from 'bar';
Bar(Foo());
您在调用时注入(inject) Foo
依赖项,而不是对依赖项进行硬编码。
关于javascript - javascript模块化和依赖注入(inject)之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36770302/