Итак, проблема заключается в том, что я пытаюсь использовать knockout-es5 и выводить в обычный формат js, но я пишу все, используя синтаксис es6.typescript es6 output syntax output es5 commonjs module issue
Теперь проблема у меня есть, что я делаю следующее:
import ko from "knockout-es5";
с надеждой, что выход, когда бежал через TSC будет:
var ko = require("knockout-es5");
Однако первый из все, что он не будет компилировать из-за файла дескриптора knockout-es5
, не имеет экспорта модуля, поэтому я вошел и добавил к нему следующее:
declare var ko: KnockoutStatic; export module "knockout-es5" { export = ko; }
Который, похоже, работает, но если вы посмотрите на результат, где он используется, он делает ko.default.yourMethod
, а не ko.yourMethod
, который затем не работает.
Так что я немного озадачен, так как мне нравится синтаксис ES6, и мой код написан с использованием импорта и экспорта ES6, но поскольку я зависим от экспортированных модулей, не относящихся к ES6, я не могу найти работоспособную среднюю площадку, я либо удалите экспорт по умолчанию для нокаута, и никакие требования не включены в выходной файл, или я добавляю экспорт по умолчанию, и он добавляет свойство default
.
Так есть способ получить мой торт и съесть его здесь?
AH! Я всегда думал, что «как ко» - это не задание, спасибо за помощь. – Grofit