Не удается найти модуль, определенный в tsconfig `paths` - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь настроить псевдонимы для моего фиктивного сервера. Всякий раз, когда я пытаюсь скомпилировать ts файлы, он возвращает ошибку, что он не может найти подходящие модули, даже если они определены в tsconfig,json -> paths

Структура папок:

├── server
│   └── src
│       └──/json
├── src
│   └──/modules
├── tsconfig.json

Вот мой tsconfig.json

{
    "compilerOptions": {
        "baseUrl": "./src",
        "experimentalDecorators": true,
        "jsx": "react",
        "lib": [
            "dom",
            "es2015",
            "es2015.promise"
        ],
        "module": "commonjs",
        "moduleResolution": "node",
        "noImplicitAny": true,
        "noUnusedLocals": true,
        "esModuleInterop": true,
        "paths": {
            "@project/app/modules/*": [
                "modules/*"
            ],
            "@project/server/data/*": [
                "../server/src/json/*"
            ]
        },
        "sourceMap": true,
        "target": "es5"
    },
    "exclude": [
        "node_modules",
        "tools"
    ]
}

Ошибка: Error: Cannot find module '@project/server/data/accounts/accountsList'

1 Ответ

0 голосов
/ 29 июня 2019

псевдоним пути используется только языковой службой машинописи для проверки типов.Модуль NodeJS require () не реализовал такую ​​функциональность.Поэтому, если нам нужен путь, псевдоним можно запустить в NodeJS.Вам нужно принести этот код на землю NodeJS.

У меня тоже возникла такая же проблема.после исследования я использую эту библиотеку для решения проблемы.tsmon@0.4.5.

npm i -g tsmon

используйте tsmon для замены ts-узла

tsmon server/index.ts
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...