Webpack IOC ES6依赖注入器
Webpack 的依赖注入器太少见了,webpack-ioc-es6算是我最近用过比较顺手的一个。它基于 ES6 语法,配合 Webpack 打包,做依赖注入挺自然的,装饰器写起来也蛮清爽,逻辑清晰,不绕弯子。
@inject这种装饰器写法,不但省事,还让构造函数更干净。比如你要注入一个Service
类,写成:
@inject(Service)
class MyClass {
constructor(service) {
this.service = service;
}
}
嗯,就这么一行,省去自己手动实例化的麻烦,响应也快,测试也更方便。尤其写单元测试时,直接换个 mock 扔进去就行。
它的原理也不复杂,Webpack 打包时扫描用到装饰器的类,动态生成注入代码,等你项目跑起来,依赖关系都已经安排妥了。你不用手动管谁是谁的依赖,框架自动帮你兜底。
框架本身还带了个简单项目示例,结构清楚,文档也够用,照着改一改就能跑。适合不想写一堆手动new
和注入逻辑的你,尤其在大型项目里,这种方式对扩展性提升。
如果你平时习惯用 Webpack 打包 ES6 模块,又项目结构更松耦合,试试webpack-ioc-es6真的还挺香的。装饰器别看现在还在提案里,配合 Babel 或者 ts-loader 照样能跑得飞快。
另外推荐几篇相关内容,顺手看看也不错:
如果你正好在搭前端架构,又想省点力气管理依赖关系,不妨试试这个,挺省心。
webpack-ioc-es6-master.zip
预估大小:28个文件
webpack-ioc-es6-master
文件夹
.jshintrc
757B
.gitignore
28B
package.json
1KB
src
文件夹
games
文件夹
g1
文件夹
parent.spec.js
1KB
part.js
64B
parent.js
196B
22.78KB
文件大小:
评论区