2017-08-29 64 views
0

我正在嘗試將TypeScript的演示文稿放到我的開發團隊的其餘部分中。我試圖向他們展示類型檢查,但是,我無法弄清楚爲什麼這個示例代碼在編譯時沒有在「.notafunction」調用中失敗。 ???爲什麼TypeScript允許未定義的方法?

/// <reference path="typings/jquery/jquery.d.ts" /> 
 

 
function greeting(person : any) { 
 
    return "Hello " + person + "!"; 
 
} 
 

 
$(document).ready(function() { 
 
    var user = ".Net Development Team"; 
 

 
    $("#greeting-header").notafunction(greeting(user)); 
 

 
});

+0

它確實會導致編譯器錯誤。也許分享你的'tsconfig'會有幫助嗎? 我也看到你正在通過''包括jquery typings。從技術上講,這應該起作用,但您可能想切換到推薦的安裝類型爲NPM模塊的方式。您可能想要諮詢此鏈接https://blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/ – dade

+0

我改變了導入導入*作爲$從「jquery 「; –

+0

@dade - 感謝您的迴應。 我改爲導入到 import * as $ from「jquery」; 我已經嘗試使用tsconfig.json和沒有。我這增加了一個: { 「compileOnSave」:真實, 「compilerOptions」:{ 「noEmitOnError」:真 } } 我刪除了我的腳本/分型/ jQuery和使用NPM嘗試: NPM安裝 - -save @ types/jquery MS Build在npm-modules \ @types \ jquery中找不到定義 我將該文件夾添加到我的項目中,並且再次編譯所有內容。它沒有捕獲notafunction()調用。 您收到的錯誤是什麼? –

回答

1

好,我敢肯定,這個問題有什麼做的打字稿及分型的內部VS2017。

腳本/分型/ jquery的/已安裝有

Install-Package jquery.TypeScript.DefinitelyTyped -Version 3.1.2

jquery.d.ts是不同於node_modules \ @types \ jquery的\ index.d.ts與

npm install --save @types/jquery

安裝我終於能夠獲得打字稿在VS2017之外安裝,並且我得到了關於JQuery的相同錯誤。當我切換回類型沒有更多的錯誤。

謝謝您的信息。

相關問題