Неправильная сборка в папке dist /, когда сервер импортирует модуль из внешней папки - PullRequest
0 голосов
/ 09 октября 2019

Я использую гибридный пример микросервиса из nestjs (https://github.com/nestjs/nest/tree/master/sample/03-microservices) для ознакомления с основами. В настоящее время он использует микросервис, который находится внутри папки src (src / math). Я хочу переместить микросервисв корневой папке в папке microservices (microservices / math / ...), чтобы можно было создать дополнительные в этой структуре.

Когда я запускаю его с «start: prod»: «node dist / main. js ", если math.module, который я импортирую в app.module.ts, является таким, как в примере, в './math/math.module' он работает нормально. Если я копирую содержимое математической папки в папку microservices вкорень и я ссылаемся на math.module из '../microservices/math.module', тогда структура dist неверна там, где у меня есть:

  • dist
    • microservices
    • src
      • обычный
      • математика
      • app.module.d.ts
      • main.d.ts

Конечно, в этом случае он попытается запустить main.js внутри "dist", но это не такдольше он автоматически помещается в src, а не в корень папки dist.

Это чисто машинописная конфигурация, которую мне нужно настроить?

tsconfig.json

{
  "compilerOptions": {
    "module": "commonjs",
    "declaration": true,
    "noImplicitAny": false,
    "removeComments": true,
    "noLib": false,
    "allowSyntheticDefaultImports": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es6",
    "sourceMap": true,
    "outDir": "./dist",
    "baseUrl": "./"
  },
  "exclude": ["node_modules"]
}

tsconfig.build.json

{
  "extends": "./tsconfig.json",
  "include": ["src/**/*"],
  "exclude": ["node_modules", "**/*.spec.ts"]
}

1 Ответ

0 голосов
/ 17 октября 2019

Проблема здесь в том, что при import локальном коде из папки это не include d в tsconfig.json, который используется для сборки. В этом случае машинописная копия находится в родительской папке самой неглубокой папке с кодом и строит структуру этого дерева папок, поскольку встроенные файлы должны иметь одинаковые относительные пути друг к другу.

...