2012-10-24 67 views
7

已解決:

謝謝大家的幫助。我不確定究竟是什麼導致了這一點,但我重新啓動Visual Studio,一切恢復正常。不知道爲什麼,但從昨天開始一直工作。我做錯了什麼,或者這是一個錯誤? (TypeScript/Visual Studio 2012)


我沒有這些問題,昨晚(代碼相同的 - 不變):

enter image description here

我看不出是什麼問題。

我正的誤差是:在第1行,在第9欄第[路徑/ app.ts] SCRIPT1004

JavaScript的臨界錯誤:預期 ';'。

什麼deuce ?!

櫃面你無法看到圖像,誤差指的是這一行: declare var document;

更新

被編譯成JavaScript的JavaScript文件,該文件是打字稿的結果看起來像這個:

window.onload = function() { 
    start(); 
}; 
function sayHello(msg) { 
    return msg = "Hello, therel ol!"; 
} 
function start() { 
    var element = document.getElementById("link"); 
    element.addEventListener("click", function() { 
     var element = document.getElementById("response").innerText = sayHello("Hi"); 
    }, false); 
    if(XMLHttpRequest) { 
     xmlhttp = new XMLHttpRequest(); 
    } else { 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
} 

正如你所看到的,一切都很好。我不明白爲什麼它會拋出這個錯誤。

+3

'在javascript聲明'? –

+1

查看我的標籤和問題標題;它是TypeScript。 :-)是的,申報。因爲這是你在TypeScript中的做法:http://www.typescriptlang.org/:http://go.microsoft.com/fwlink/?LinkId=267238 – Arrow

+0

我已更新我的問題以顯示生成的JavaScript代碼從編譯的ts文件中幫助你理解。即使是JavaScript也很好。 – Arrow

回答

11

我的猜測是,當您應該引用app.js文件時,您錯誤地引用了網頁上的app.ts文件。

我假設在運行應用程序時出現此錯誤,而不是在設計時。

<script src="app.ts"></script> 

應該

<script src="app.js"></script> 
+0

這很奇怪,我不知道這是問題,因爲我只有.js文件引用。 – Arrow

+0

當我將.ts文件包含在我的頁面中而不是編譯後的.js中時,出現此錯誤,就像James Kent所建議的一樣。 – Ezward

+0

我的.ts文件被錯誤地包含在一個MVC包中。我需要通配符* .js –

2

你不應該需要申報文件 - 它應該已經聲明。它來自默認引用的虛擬lib.d.ts文件。

嘗試評論申報行。

+0

我試過了,但'document'不再可用。 – Arrow

+1

我假設你仍然有這個問題?首先嚐試下載WebEssentials VS擴展,它爲TypeScript提供了許多有用的工具,包括編譯選項頁面。編譯器中的一個選項打開/關閉「文檔」類型 - 可能是這個問題。在我的VS2012中,我從虛擬lib.d.ts文件的「文檔」中獲得智能感知。 – Quango

+0

感謝@Quango,我不再遇到這個問題。我重新啓動Visual Studio,一切都很好。我alrady有Web Essentials和所有安裝。 :) – Arrow

相關問題