У меня есть js lib Мне нужно использовать в проекте tsc 1.8. Одним из свойств его опций является волшебная строка, которая утверждает, что она поддерживает только несколько значений, то есть «по умолчанию», «вариант 1», «вариант 2». В моем .d.ts я хотел бы использовать Enum для этого значения, но не могу решить, как это сделать. например ...Файл определения TypeScript 1.8 Enum для свойств «волшебной строки»
loggerjs.js (внешний Lib пример)
var loggerjs = (function(){
function log(severity) {
var message;
if (severity === "High") {
message = "OMG!";
}
else if (severity === "Low") {
message = "meh";
}
console.log(message)
}
});
loggerjs.d.ts
declare module "loggerjs" {
export enum Severity {
"Low",
"High"
}
export function log(severity: Severity);
}
требуют конфигурации
requirejs.config({
baseUrl: '',
paths: {
app: ''
},
shim:{
'loggerjs':{
exports:'loggerjs'
}
}
});
requirejs(['app']);
app.ts
import * as loggerjs from "loggerjs";
loggerjs.log(loggerjs.Severity.Low);
app.js (скомпилированные JS)
define(["require", "exports", "loggerjs"], function (require, exports, loggerjs) {
"use strict";
loggerjs.log(loggerjs.Severity.Low);
});
Приведенные выше результаты в
app.js:3 Uncaught TypeError: Cannot read property 'Low' of undefined
То огромное спасибо, как только я могу пометить как ответ я буду. Теперь я получаю сообщение «Uncaught TypeError: loggerjs.log не является функцией (...)». есть идеи? (редактирование для включения require config) –
Мне нужно увидеть модифицированный код, который вызывает эту ошибку –
Добавлен текущий код –