Ошибка «Экспорт по умолчанию для модуля имеет или использует личное имя» при выполнении вложенного экспорта - PullRequest
0 голосов
/ 07 мая 2018

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

Вот моя файловая структура

my-common
├── constants
│   ├── index.ts
│   ├── status.ts
│   └── type.ts
├── dist
│   └── (compiled files)
├── index.ts
├── locales
│   ├── en
│   │   ├── index.ts
│   │   ├── status.ts
│   │   └── type.ts
│   ├── index.ts
│   ├── fr
│   │   ├── index.ts
│   │   ├── status.ts
│   │   └── type.ts
│   └── zh-hk
│       ├── index.ts
│       ├── status.ts
│       └── type.ts
├── node_modules
│   └── (modules)
├── package.json
└── tsconfig.json

А есть пример файлов

Константы / status.ts

export enum UserStatus {
  INACTIVE = -1,
  NOT_VERIFIED = 0,
  VERIFIED = 1,
  ACTIVE = 10
}

export enum WorkspaceStatus {
  INACTIVE = -1,
  ACTIVE = 10
}

локали / о / status.ts

export enum UserStatus {
  INACTIVE = "Inactive",
  NOT_VERIFIED = "Not Verified",
  VERIFIED = "Verified",
  ACTIVE = "Active"
}

export enum WorkspaceStatus {
  INACTIVE = "Inactive",
  ACTIVE = "Active"
}

константы / index.ts, locales / en / index.ts

import * as status from "./status";
import * as type from "./type";

export { status, type };

локали / index.ts

import * as en from "./en";
import * as tc from "./zh-hk";
import * as fr from "./fr";

const obj = { en, fr, "zh-hk": tc };
export default obj;

index.ts

import * as constants from "./constants";
import locales from "./locales";

export default { ...constants, locales };

Ошибка при наборе текста в операторе экспорта index.ts :

[ts] Default export of the module has or is using private name '"/path/to/module/locales/en/index"'.
[ts] Default export of the module has or is using private name '"/path/to/module/locales/fr/index"'.
[ts] Default export of the module has or is using private name '"/path/to/module/locales/zh-hk/index"'.

Любая идея, почему существует такая ошибка и какое-либо решение для нее.

Спасибо.

EDIT:

когда я изменяю оператор экспорта на locales / index.ts , например:

import * as en from "./en";
import * as tc from "./zh-hk";
import * as fr from "./fr";

export default { en, fr, "zh-hk": tc } as any;

Теперь его можно экспортировать, но в VSCode нет завершения кода после того, как я набрал common.locales.en.

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