Я строю модуль NPM для импорта в мои проекты. Для тестирования я использую ссылку npm для связи с разрабатываемым модулем.
Я пытаюсь экспортировать ENUM.
enums.ts
export const enum PlayActions {
startGame = "START_GAME",
displayQuestion = "DISPLAY_QUESTION",
clearQuestion = "CLEAR_QUESTION",
displayFollowUp = "DISPLAY_FOLLOWUP",
endGame = "END_GAME",
addPlayer = "ADD_PLAYER",
removePlayer = "REMOVE_PLAYER",
disconnected = "DISCONNECTED",
resetGame = "RESET_GAME"
}
index.ts -
import Plearnit, { ConnectionTypes } from './Plearnit';
import { PlayActions } from './enums';
import ActionDTO from './dto/ActionDTO';
import AnswerDTO from './dto/AnswerDTO';
import GameDTO from './dto/GameDTO';
import LibraryDTO from './dto/LibraryDTO';
import PlayLoginDTO from './dto/PlayLoginDTO';
import QuestionDTO from './dto/QuestionDTO';
export { Plearnit, PlayActions, ConnectionTypes, ActionDTO, AnswerDTO, GameDTO, LibraryDTO,
PlayLoginDTO, QuestionDTO }
После трассировки я получаю следующие файлы:
index. js -
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const Plearnit_1 = __importDefault(require("./Plearnit"));
exports.Plearnit = Plearnit_1.default;
const ActionDTO_1 = __importDefault(require("./dto/ActionDTO"));
exports.ActionDTO = ActionDTO_1.default;
const AnswerDTO_1 = __importDefault(require("./dto/AnswerDTO"));
exports.AnswerDTO = AnswerDTO_1.default;
const GameDTO_1 = __importDefault(require("./dto/GameDTO"));
exports.GameDTO = GameDTO_1.default;
const LibraryDTO_1 = __importDefault(require("./dto/LibraryDTO"));
exports.LibraryDTO = LibraryDTO_1.default;
const PlayLoginDTO_1 = __importDefault(require("./dto/PlayLoginDTO"));
exports.PlayLoginDTO = PlayLoginDTO_1.default;
const QuestionDTO_1 = __importDefault(require("./dto/QuestionDTO"));
exports.QuestionDTO = QuestionDTO_1.default;
index.d.ts -
import Plearnit, { ConnectionTypes } from './Plearnit';
import { PlayActions } from './enums';
import ActionDTO from './dto/ActionDTO';
import AnswerDTO from './dto/AnswerDTO';
import GameDTO from './dto/GameDTO';
import LibraryDTO from './dto/LibraryDTO';
import PlayLoginDTO from './dto/PlayLoginDTO';
import QuestionDTO from './dto/QuestionDTO';
export { Plearnit, PlayActions, ConnectionTypes, ActionDTO, AnswerDTO, GameDTO, LibraryDTO,
PlayLoginDTO, QuestionDTO };
enums.d.ts -
export declare const enum PlayActions {
startGame = "START_GAME",
displayQuestion = "DISPLAY_QUESTION",
clearQuestion = "CLEAR_QUESTION",
displayFollowUp = "DISPLAY_FOLLOWUP",
endGame = "END_GAME",
addPlayer = "ADD_PLAYER",
removePlayer = "REMOVE_PLAYER",
disconnected = "DISCONNECTED",
resetGame = "RESET_GAME"
}
Когда я пытаюсь импортировать его в свой проект, все операции импорта работают правильно, кроме перечисления:
import Plearnit, { QuestionDTO, GameDTO, PlayActions } from 'plearnit-connector';
Я пытался использовать и не использовать «const». Когда я не использую CONST, PlayActions отображается в индексе. js, но все равно не может быть импортирован. Я прочитал, что вы должны сделать их CONST при экспорте, но все равно не повезло.
Как я могу экспортировать мои ENUMS, чтобы они могли импортироваться в мои проекты?