TypeScript не может найти модуль с не относительным путем 'src / xxx' - PullRequest
0 голосов
/ 06 июля 2018

Я столкнулся с проблемой разрешения не относительных модулей в машинописи. И попробуйте baseUrl, paths и так далее, но это не работает ....

tsconfig.json

{
  "compilerOptions": {
    "allowJs": true,
    "baseUrl": ".",
    "esModuleInterop": true,
    "module": "commonjs",
    "sourceMap": true,
    "strict": true,
    "target": "esnext",
    "typeRoots": ["node_modules/@types"]
 }
}

Проект dirs:

root
  ├─src
    ├── APIs
    ├── config
    ├── constants
    ├── middlewares
    ├── models
    ├── routes
    ├── services
          - foo.ts   
    ├── utils
    └── app.ts

in app.ts

import foo from 'src/services/foo'

И беги с ts-node src/app.ts.

Но возникает ошибка:

Cannot find module 'src/services/foo'

1 Ответ

0 голосов
/ 06 мая 2019

Наконец, я добавляю опцию paths для ее разрешения.

tsconfig.json

{
  "compilerOptions": {
    "baseUrl": ".",
    "esModuleInterop": true,
    "module": "commonjs",
    "moduleResolution": "node",
    "removeComments": true,
    "sourceMap": true,
    "target": "esnext",
    "strict": true,
    "noUnusedLocals": true,
    "paths": {
      "@/*": ["src/*"]
    },
    "typeRoots": ["./src/@types", "./node_modules/@types"]
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "**/node_modules/*", "**/*.spec.ts"]
}

In app.ts :

import foo from '@/services/foo'
...