субмодули экспорта машинописного текста без папки «dist»

У меня есть простой модуль modA :

modA/
- package.json
- dist/
  - index.js
  - db.js
  - stuff.js

Я хотел бы иметь возможность использовать подмодули "db" и "stuff" следующим образом: import * as db from modA/db - как я могу это сделать? У меня есть main: dist/index.js в моем package.json но это не устанавливает dist/ как значение по умолчанию для подмодулей, поэтому единственный способ заставить его работать - это import * as db from modA/dist/db ( явно включая "dist" в импорте). import * as db from modA/db просто выдает ошибку «Не удается найти модуль».

dist есть, потому что я компилирую из машинописи.

В случае, если это важно, я хочу, чтобы это работало в node.js и браузере, где я использую веб-пакет.

В качестве альтернативы, можно ли добавить какой-нибудь код реэкспорта пространства имен в index.js чтобы эта работа работала?

Всего 1 ответ


Для того, чтобы сделать следующую импортную работу

import * as db from 'modA/db'

В tsconfig.json добавьте пути, как показано ниже

 {
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "modA/*": [
        "dist/*"
      ]
    }
  }
} 

Ссылка: https://indepth.dev/configuring-typescript-compiler/


Есть идеи?

10000