Я хочу иметь следующую настройку проекта: Три папки верхнего уровня - клиент, общий и сервер. Все они представляют собой отдельный пакет со своей собственной папкой package.json и node_modules.Поделитесь общим пакетом между сервером и клиентом
Для примера ниже я использую эту структуру:
- common
- node_modules
- package.json
- entities.ts
- server
- node_modules
- package.json
- app.ts
- tsconfig.json
И я пытаюсь запустить TSC в папке сервера
файлы, которые должны быть использованы как клиент и сервер будет находиться в общей папке и я хотел бы использовать синтаксис модуля ES6 для их импорта с сервера и клиента, например import {MyModel} from 'common/entities';
Проблема в том, что я не могу понять, как настроить машинописный текст, чтобы понять эту настройку.
Я использовал npm link
, чтобы обычное явление отображалось как обычный node_module на сервере, но указанный выше импорт генерирует ошибку Cannot find module 'common/entities'
. Я пробовал добавить "moduleResolution": "node"
в compilerOptions
безрезультатно.
Можно ли получить машинописный текст, чтобы понять эту настройку, или есть ли такая настройка, которая вам предписана?
Убить единственное node_modules сложно построить хороший артефакт, поскольку для удаления модулей, которые не используются в клиенте, требуется дрожание дерева, иначе он выдаст массивный результат. Я хотел бы решить это в хорошем смысле, иначе я прибегу к простому JS. Я считаю, что тесты должны обеспечивать безопасность, типы - это просто для удобства разработчиков. – Pajn