2016-04-25 3 views
1

Я пишу плагин для Nativescript, в TS. Я следую this руководство для ссылки на SDK android java, который я хочу использовать. По сути, для того, чтобы ориентировать API-интерфейс конкретной платформы библиотеки, вы должны называть их относительно значений импорта градиента - вот так.Как заставить «недействительный» машинописный текст скомпилировать прямо в JS?

В моих TS, у меня есть следующие строки:

var mClient = new com.Microsoft.azure.MobileServiceClient(); 

, который я считаю, должны быть хорошо, несмотря на ошибки, но, к сожалению, это вызывает tsc на провал -

nsAzure.android.ts(7,27): error TS2304: Cannot find name 'com'

Как могу ли я заставить это перевести буквально в js и продолжить сборку и, в идеале, не переплевывать ошибки или предупреждения в мой журнал?

+0

Вы можете попробовать "var com = window [" com "];" – TSV

ответ

2

Если вы действительно просто хочу, чтобы отключить ошибку:

declare var com: any; 
var mClient = new com.Microsoft.azure.MobileServiceClient(); 

В идеале вы должны получить .d.ts файл, описанный com хотя.

+0

Есть ли легкий файл '.d.ts', который я мог бы сделать, чтобы заставить замолчать ошибку? Мне не очень нравится идея изменить код в моем файле, чтобы заставить замолчать компилятор, но я не уверен, как описать com в файле определения, так как он ссылается на java api? –

+0

Вы можете поместить 'declare var com: any;' в .d.ts файл, например. myTypes.d.ts, а затем ссылаться на него в файле .ts с помощью /// '. Я ничего не знаю о NativeScript, но если вы кодируете это с помощью TypeScript, API, безусловно, может быть смоделирован в файле .d.ts на самом деле, и тогда вы действительно выиграете от проверки типов TypeScript. В справочнике TypeScript есть [руководство по написанию файлов .d.ts] (https://www.typescriptlang.org/docs/handbook/writing-declaration-files.html) – Alan

Смежные вопросы