如何从 NPM 模块导出 ENUM

Lee*_*iss 5 npm typescript

我正在构建一个 NPM 模块以导入到我的项目中。为了进行测试,我使用 npm link 链接到我正在开发的模块。

我正在尝试导出 ENUM。

枚举.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"
}
Run Code Online (Sandbox Code Playgroud)

索引.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 }
Run Code Online (Sandbox Code Playgroud)

遍历后,我得到以下文件:

索引.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;
Run Code Online (Sandbox Code Playgroud)

索引.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 };
Run Code Online (Sandbox Code Playgroud)

枚举.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"
}
Run Code Online (Sandbox Code Playgroud)

当我尝试将其导入到我的项目中时,除枚举之外的所有导入均正常工作:

import Plearnit, { QuestionDTO, GameDTO, PlayActions } from 'plearnit-connector';
Run Code Online (Sandbox Code Playgroud)

我尝试过使用和不使用“const”。当我不使用 CONST 时,PlayActions 显示在 index.js 中,但仍然无法导入。我读到你应该在导出时将它们设置为常量,但仍然没有运气。

如何导出我的 ENUMS 以便它们可以导入到我的项目中?