我是 InversifyJs 的新手。它看起来很棒,我正在尝试将它实施到我的项目中。在官方网站 ( http://inversify.io/ ) 上,我读到它是一个 4k 库,这很好,因为我必须使包的大小尽可能小。不幸的是,在实现它之后,捆绑包的整体大小(缩小和压缩)增加了大约 20k。这个意外的结果不是很好,如果我找不到解决方案,我必须删除 inversifyjs。我想知道我的配置可能有问题。
配置:
{
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"outDir": "./Content/dist",
"target": "es5",
"lib": ["es6", "dom"],
"types": ["reflect-metadata"],
"module": "commonjs",
"noImplicitAny": false,
"removeComments": true,
"preserveConstEnums": true,
"sourceMap": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"allowJs": true,
"jsx": "react"
},
"typeRoots": [
"./node_modules/@types/"
],
"exclude": [
"node_modules"
]
}
1)我在之前的tsconfig中只添加了这两个属性: "lib": ["es6", "dom"] "types": ["reflect-metadata"]
2)我在我的应用程序的入口点添加了导入“reflect-metadata” 。仅这个库就增加了大约 4k 的捆绑包。
3)我创建了一个容器并更改了要注入的现有类。当我将容器导入到我的应用程序入口点时,InversifyJs 成为我的 webpack-bundle 的一部分,增加了大约 15k。预期的结果是将捆绑包增加不超过 4k + 我为实现容器而添加的新几行代码的大小。
注意: InversifyJs 对我来说很好用。我唯一的问题/担忧是图书馆的规模远高于官方网站上的展示方式。