带有 webpack 和 NX 的 NestJS/Swagger 插件

问题描述 投票:0回答:1

我正在尝试在 NX monorepo 中设置 NestJS API,并启用 @nestjs/swagger CLI 插件。

但是,一旦我将插件添加到 webpack 中,我就会收到错误消息,指出打字稿没有发出任何输出。花了两天时间在互联网上查找有关此内容的信息,但找不到任何可行的东西(将选项移至project.json文件中,尝试将其移至匿名插件中,将编译器从tsc更改为swc)。是插件有问题还是我做错了什么?

输出为:

ERROR in ./src/main.ts
Module build failed (from ../../node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/ts-loader/index.js):
Error: TypeScript emitted no output for /home/kowalsky/Documents/testproject/apps/api/src/main.ts.
    at makeSourceMapAndFinish (/home/kowalsky/Documents/testproject/node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/ts-loader/dist/index.js:55:18)
    at successLoader (/home/kowalsky/Documents/testproject/node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/ts-loader/dist/index.js:42:5)
    at Object.loader (/home/kowalsky/Documents/testproject/node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/ts-loader/dist/index.js:23:5)

webpack compiled with 1 error (8456be451fa327b9)
Warning: command "webpack-cli build --node-env=production" exited with non-zero status code

这只是干净的应用程序,刚刚初始化。其中还没有复杂的逻辑。

示例存储库:https://github.com/PatrikValkovic/nestjs-swagger-plugin-failure

webpack nestjs nx-monorepo
1个回答
0
投票

我想通了,如果有人有类似问题,请留下问题。

tsconfig 文件配置了

emitDelcarationOnly: true
,导致出现上述错误。

奇怪的是,如果没有插件,编译会按预期工作,并且输出是

dist
目录中的 main.js 文件。但是,一旦通过

启用插件
new NxAppWebpackPlugin({
    // ...options
    transformers: [
        {
            name: '@nestjs/swagger/plugin',
        }
    ]
}),

曾经还必须更改 tsconfig 文件以包含

"emitDeclarationOnly": false
。为什么会这样,老实说我不知道。

© www.soinside.com 2019 - 2024. All rights reserved.