#typescript #directory #nestjs
#машинописный текст #каталог #nestjs
Вопрос:
Я начал использовать Nest.Js и я создал приложение с полным стеком с такой структурой:
api
: приложение nestjs
client
: интерфейсное приложение
models
: общие модели (только интерфейсы) между задней и передней
Поэтому я установил путь к псевдониму в tsconfig.json
внутренней папке api, чтобы позволить ему импортировать в ближайшее время: import { User } from 'models/user.model'
{
"compilerOptions": {
"module": "commonjs",
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"target": "es2017",
"sourceMap": true,
"incremental": true,
"outDir": "./dist",
"baseUrl": "./",
"paths": {
"models/*": ["../models/*"]
}
}
}
Проблема в том, что typescript компилирует и изменяет корневую структуру в dist
папке, а nest cli не находит main.js
файл для запуска приложения.
Есть ли способ переместить models
папку и сохранить структуру nestjs? Или, может быть, измените конфигурацию nestjs, чтобы запустить приложение api/src/main.js
?
Комментарии:
1. Привет, не могли бы вы сказать мне, какой пакет значков вы используете, пожалуйста? 🙂
2. @RyanWeiss
Material Icon Theme
для vscode3. Спасибо @Eduardo!
4. @EduardoRosostolato Вы получили ошибку при создании производственного экспорта? потому что
paths
не работал с производственной сборкой5. @SayJeyHi Я не продвинулся вперед с этим проектом, и я не пробовал его на производстве, поэтому я не могу этого сказать… Извините.
Ответ №1:
Это то, что typescript делает, когда есть код за пределами корневого src
каталога, чтобы убедиться, что после компиляции можно использовать те же пути. Вы можете изменить nest-cli.json
и добавить entryFile
свойство, чтобы указать Nest, где находится main
файл. Кроме того, рассмотрите что-то вроде Nx
, чтобы помочь с созданием полноформатных монорепозиций.
Комментарии:
1. Идеально! Я включил
"entryFile": "api/src/main"
nest-cli.json
, и это сработало! Спасибо!2. Блестяще! Это то, что я ищу! (после долгих поисков и попыток, похожих на безголовую муху …)
3. Просто обратите внимание, что мне также пришлось удалить
dist
папку, чтобы она правильно обновлялась сpaths