Javascript 使用Angular CLI编译NX Workspace NestJS项目时,始终编译某些文件

Javascript 使用Angular CLI编译NX Workspace NestJS项目时,始终编译某些文件,javascript,angular,angular-cli,monorepo,Javascript,Angular,Angular Cli,Monorepo,我有一个项目,它被设置为nx工作区,其中包括一个名为sync的NestJS项目。我尝试在Lambda上使用多个函数,我在NX工作区之外使用它,它编译完整的目录,但是在NX工作区中它编译成main.js文件,其中不包括两个Lambda文件,这两个文件调用NestJS框架 我认为问题在于: "sync": { "root": "apps/sync", "sourceRoot": &

我有一个项目,它被设置为nx工作区,其中包括一个名为sync的NestJS项目。我尝试在Lambda上使用多个函数,我在NX工作区之外使用它,它编译完整的目录,但是在NX工作区中它编译成main.js文件,其中不包括两个Lambda文件,这两个文件调用NestJS框架

我认为问题在于:

    "sync": {
        "root": "apps/sync",
        "sourceRoot": "apps/sync/src",
        "projectType": "application",
        "prefix": "sync",
        "schematics": {},
        "architect": {
        "build": {
            "builder": "@nrwl/node:build",
            "options": {
                "outputPath": "dist/apps/sync",
                "main": "apps/sync/src/main.ts",
                "tsConfig": "apps/sync/tsconfig.app.json",
                "assets": ["apps/sync/src/assets"],
                "scripts": ["apps/sync/src/app/lambdas/**/*"]
            },
            "configurations": {
                "production": {
                    "optimization": true,
                    "extractLicenses": true,
                    "inspect": false,
                    "fileReplacements": [
                        {
                            "replace": "apps/sync/src/environments/environment.ts",
                            "with": "apps/sync/src/environments/environment.prod.ts"
                        }
                    ]
                }
            }
        },
        "serve": {
            "builder": "@nrwl/node:execute",
            "options": {
                "buildTarget": "sync:build"
            }
        },
        "lint": {
            "builder": "@angular-devkit/build-angular:tslint",
            "options": {
                "tsConfig": [
                    "apps/sync/tsconfig.app.json",
                    "apps/sync/tsconfig.spec.json"
                ],
                "exclude": ["**/node_modules/**", "!apps/sync/**/*"]
            }
        },
        "test": {
            "builder": "@nrwl/jest:jest",
            "options": {
                "jestConfig": "apps/sync/jest.config.js",
                "tsConfig": "apps/sync/tsconfig.spec.json",
                "passWithNoTests": true
            }
        }
    }
始终基于此文件编译JS文件:

    import { Logger } from '@nestjs/common';
    import { NestFactory } from '@nestjs/core';

    import { AppModule } from './app/app.module';

    declare const module: any;

    async function bootstrap() {
        const app = await NestFactory.create(AppModule, {
            logger: ['log', 'error', 'warn', 'debug', 'verbose'],
        });
        const port = process.env.PORT || 3010;
        await app.listen(port, () => {
            Logger.log('Listening at http://localhost:' + port);
        });

        if (module.hot) {
            module.hot.accept();
            module.hot.dispose(() => app.close());
        }
    }

    bootstrap();
但是,我需要包括两个文件,因为它们运行每个函数:

    import { Handler } from 'aws-lambda';
    import { NestFactory } from '@nestjs/core';
    import { AppModule } from '../app.module';
    import { FooController } from '../foo/foo.controller';

    async function bootstrap() {
        const app = await NestFactory.createApplicationContext(AppModule);
        return app;
    }

    export const syncFooHandler: Handler = async (event) => {
        const app = await bootstrap();
        const fooService = app.get(FooController);
        return await fooService.sync(event);
    };
但是这些文件不包括在编译的
main.js
文件中

    import { Handler } from 'aws-lambda';
    import { NestFactory } from '@nestjs/core';
    import { AppModule } from '../app.module';
    import { BarController } from '../bar/bar.controller';

    async function bootstrap() {
        const app = await NestFactory.createApplicationContext(AppModule);
        return app;
    }

    export const syncStudentsHandler: Handler = async (event) => {
        const app = await bootstrap();
        const barService = app.get(BarController);
        return await barService.sync(event);
    };