Переопределение Vue + TypeScript `экспорт по умолчанию Vue` - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь использовать Vue и TypeScript. Я пытаюсь скомпилировать в AMD в моем tsconfig.

Определение типа, которое поставляется с состояниями Vue.js в vue / types / index.d.ts

export default Vue;

Однако, это приводит к тому, что машинописный текст компилирует это:

import Vue as "vue";
export default Vue.extend({ ... });

по существу, в это:

define(["vue"], function(vue) {
  exports.default = vue.default.extend({  ... })
});

Обратите внимание, что он считает, что vue должен иметь свойство .default, которого у него нет. В любом случае можно написать определение типа, которое переопределяет определение типа vue по умолчанию, в котором указано что-то вроде:

export = Vue;

или какой-нибудь флаг в tsconfig, который говорит машинописи не добавлять это свойство .default в скомпилированный модуль AMD?

1 Ответ

0 голосов
/ 30 октября 2018

Включение опции компилятора esModuleInterop заставит TypeScript генерировать код для проверки как vue, так и vue.default во время выполнения.

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

...