NestJS创建可重用/可发布的库
我想创建一个Nest.js包,以便在多个Nest.js项目中重用控制器 我已经签出了,但这似乎不是我想要的,因为似乎只有在repo中才能导入库NestJS创建可重用/可发布的库,nestjs,Nestjs,我想创建一个Nest.js包,以便在多个Nest.js项目中重用控制器 我已经签出了,但这似乎不是我想要的,因为似乎只有在repo中才能导入库 拥有一个可以通过npm发布的库以便我可以在其他嵌套项目中安装和导入它的最佳方法是什么?最好的方法之一是创建一个动态模块 本主题将帮助您完成以下任务 对于通过npm发布,这篇文章将是您以清晰的方式完成的指南这就是我如何完成的 创建文件夹并初始化节点包 安装以下依赖项和开发人员依赖项 然后转到您的package.json并将main,类型,脚本更改/添加到以
拥有一个可以通过npm发布的库以便我可以在其他嵌套项目中安装和导入它的最佳方法是什么?最好的方法之一是创建一个动态模块
本主题将帮助您完成以下任务
对于通过npm发布,这篇文章将是您以清晰的方式完成的指南这就是我如何完成的
package.json
并将main
,类型
,脚本
更改/添加到以下内容npm安装
tsconfig.json
文件tsconfig.json
src
文件夹。在此文件夹中添加嵌套代码src
文件夹中添加一个index.ts
文件。在该文件中,您可以导出要在此包之外使用的嵌套代码。例如:npm运行构建
。这将把代码编译到dist
文件夹中现在,您可以使用
npm i PATH_TO_package
@nest/common库不存在,并且在第4点无法使用@nestjs/common安装此包。我相信我们希望同时注入@nestjs/core@nestjs/common。我在新的nestjs版本中看到了通用包。你能再检查一下吗
mkdir PACKAGE_NAME
cd PACKAGE_NAME
npm init // Follow the steps to initialize npm package
npm install @nest/common rxjs reflect-metadata
npm install -d @types/node rimraf typescript
"main": "dist/index.js",
"types": "dist/index.d.ts",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "rimraf dist && tsc",
"prepublish": "npm run build"
},
"compilerOptions": {
"experimentalDecorators": true,
"target": "es2017",
"module": "commonjs",
"lib": ["es2017", "es7", "es6"],
"declaration": true,
"declarationMap": true,
"sourceMap": true,
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"noImplicitAny": false,
"strictNullChecks": false,
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"emitDecoratorMetadata": true
},
"exclude": [
"node_modules",
"dist"
]
}
import { CpuUtilizationModule } from "./cpu-utilization-observer.module";
import { CpuUtilizationService } from "./cpu-utilization.service";
export { CpuUtilizationModule, CpuUtilizationService }