Не удается найти имя "консоль"

Я использую Angular2-Meteor, TypeScript. (Версия Meteor 1.3.2.4)

Когда я использую console.log('test'); на стороне сервера, он работает нормально.

Однако я получил это предупреждение в своем терминале:

Не удается найти имя "консоль".

Как мне избавиться от этого предупреждения?

Или есть какой-то специальный метод, например Meteor.log для серверной части? Спасибо


person Hongbo Miao    schedule 25.04.2016    source источник


Ответы (2)


Как мне избавиться от этого предупреждения?

если это предупреждение компилятора TypeScript (а не во время выполнения), то console определяется в lib.d.ts: https://basarat.gitbooks.io/typescript/content/docs/types/lib.d.ts.html

Убедитесь, что компилятор настроен правильно (например, не имеет --noLib или какой-то пользовательский неправильный --lib). Вы можете посмотреть на свои tsconfig.json compilerOptions (если есть)

person basarat    schedule 26.04.2016
comment
Вы упомянули, incorrect --lib. Вы знаете, какая библиотека содержит определение console? - person Micah Zoltu; 22.03.2017

@barbatus, который является основным разработчиком angular2-meteor, дал ответ на Github.

Проблема в том, что пакет TypeScript использует библиотеку по умолчанию lib.core.ts на стороне сервера, которая не имеет определений для консоли. Определения NodeJS с другой стороны, поскольку теперь определяет консоль только в глобальной области (т.е. global.console).

Решение запускает это в вашем терминале:

typings install registry:env/meteor --ambient

Дополнительные сведения см. здесь.

person Hongbo Miao    schedule 29.04.2016