Общий путь Typescript, не удается экспортировать const

#javascript #node.js #typescript

#javascript #node.js #typescript

Вопрос:

Я работаю над проектом, в котором интерфейс и серверная часть находятся в одном каталоге и оба используют TypeScript .

Я использую общий путь для хранения некоторых интерфейсов и констант между двумя проектами.

Но, когда я пытаюсь экспортировать константу из любого файла в /shared , я получаю :

Error: Cannot find module '@shared/test'

server-config.ts:

 "compilerOptions": {
  "baseUrl": "./src/server/",
  "sourceMap": false,
  "module": "commonjs",
  "moduleResolution": "node",
  "target": "ES2017",
  "types": ["node"],
  "outDir": "./dist/",
  "allowJs": true,
  "typeRoots": [
    "node_modules/@types"
  ],
  "paths": {
    "@shared/*": ["../shared/*"]
  },
  

/shared/test.ts:

 // If I remove the following line, no compile error, even finds TheTest
export const TEST = 'test'; 

export class TheTest {

}
  

импорт

 // << Module not found (only if I import TEST)
import { TEST, TheTest } from '@shared/test';

export function Foo() {
  console.log(TEST);
}
  

Комментарии:

1. Итак, если вы оставите TEST in /shared/test.ts , но только импортируете TheTest , это все еще проблематично?

2. Импорт из @shared/test работает нормально, но если это const то, что я импортирую, я получаю module not found @shared/test

3. хорошо, итак, просто наблюдение, но действительно ли const назван TEST ? Если вы переименуете его во что-то другое и импортируете, это сработает?

4. Это не так. Исходное название не было ТЕСТОВЫМ, я упростил его для публикации.

5. Хорошо, итак, наконец, это работает с import * from '@shared/test' ?