2013-04-03 50 views
0

更新VS編譯的TypeScript代碼無法在Chrome/FF中運行?

您可以閱讀下面的所有細節..但基本上,現在不管我怎麼做 打字稿VS2012的編譯和保存ANSI文件...

我可以手動重新保存文件爲UTF-8,一切工作正常..

我在Windows 8中,我已經複製在5臺不同的 機這個問題在3個不同的城市使用5個不同的開發者...

唯一的共性是Windows 8的

我有一個在IE瀏覽器,但不是在所有的瀏覽器或FF的偉大工程的樣本項目。它看起來像文件被不正確的編碼和IE是想出來的,但Chrome和FF是不是......

例如,這裏有一個編譯的JavaScript的前幾個喜歡的文件

/// <reference path="../Framework/Core.ts" /> 
var MVVM; 
(function (MVVM) { 
var Application = (function() { 
    function Application() { 
     this.core = undefined; 
     this.templatePath = "Atlatl/Templates/"; 
     this.viewPath = "Atlatl/Views/"; 
     this.dependentScriptsPath = "Scripts/"; 
     this.viewModelsPath = "Atlatl/App/ViewModels/"; 
     this.frameworkPath = "Atlatl/Framework/"; 
     this.pages = { 
     }; 

這裏是什麼瀏覽器 「認爲」 從IIS(8個& 8快遞)的接收:

爼晥牥湥散瀠瑡㵨⸢⼮牆浡睥牯⽫潃敲琮≳⼠ാ瘊牡䴠噖㭍਍昨湵瑣潩䴨⥍笠†慶慶慶⁲捩捩瑡潩‽‽湵012 012笠笠

更新

這裏是從鉻呼籲文件

頭 - 請求 -

Accept:*/* 
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Accept-Encoding:gzip,deflate,sdch 
Accept-Language:en-US,en;q=0.8 
Cache-Control:max-age=0 
Connection:keep-alive 
Host:localhost:40665 
If-Modified-Since:Wed, 03 Apr 2013 16:33:17 GMT 
If-None-Match:"153551f28830ce1:0" 
Referer:http://localhost:40665/ 
User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.43 Safari/537.31 

--Response--

Accept-Ranges:bytes 
Date:Wed, 03 Apr 2013 17:06:28 GMT 
ETag:"153551f28830ce1:0" 
Server:Microsoft-IIS/8.0 
X-Powered-By:ASP.NET 
X-SourceFiles:=?UTF-8?B?QzpcUHJvamVjdHNcUmFuZG9tV29ya1xNdmNBcHBsaWNhdGlvbjEyXE12Y0FwcGxpY2F0aW9uMTJcQXRsYXRsXEFwcFxhcHAuanM=?= 

沒有什麼太有趣的在那裏...

我已經嘗試了所有各種故障以下編輯方法,都沿着相同的路線

1)只是用打字稿編譯器VS

2)使用Web要點

A)隨着和沒有設置爲true

乙UTF-8 BOM標誌)帶和不重新編譯在構建

我可以提供一個示例項目,或者如果你通過本教程會看到什麼我談論https://github.com/CatapultSystems/atlatl/wiki/Visual-studio-hello-world

我完全難住了,什麼可能會導致這...和洗耳恭聽,以什麼事..

+0

該文件編碼相同,這是不同的解釋。 mojibake是對你的文件的UTF-16解釋。什麼導致瀏覽器以UTF-16解釋你的文件?例如從您的服務器發送的HTTP Content-Type標頭。 – Esailija

+0

我會發布標題Chrome正在發送/接收..沒有什麼時髦.. –

+0

主頁是什麼?順便說一句,你正在尋找'內容類型'的響應頭,無需發佈全部:P – Esailija

回答

2

我不認爲這是什麼,與相關編譯或TypeScript。

無需BOM即可生成JavaScript文件。

迴應應該包含Content-Length: XXXXContent-Type: application/javascript - 而你的沒有。這似乎是一個304 Not Modified響應,而不是一個200 OK之一。

您是否嘗試過使用Ctrl + F5強制刷新Chrome?

UPDATE

重新保存在記事本中的JavaScript文件選擇UTF-8,只是增加了BOM(假設JS文件的含量爲7位ASCII)。

您應該能產生同樣的效果設定的Web要點添加的BOM,或添加一個虛擬字符串常量

var dummyChars = "Ù"; 

您打字稿文件。完成此操作後,JavaScript文件應與生成的記事本保存的文件完全相同。

+0

是的,多次,當我得到200的時候,我仍然會得到亂碼......關鍵是如果我在記事本中打開文件,請執行「另存爲「選擇UTF-8(它會說ANSI)並保存文件。它會正確加載..它不與服務器相關,如果它與服務器相關,那麼它不會發生在IIS,IIS Express和Dev Webserver中(全部在我的本地機器上,它們都沒有對它們做過任何調整,而且它在3個不同的城市5個不同的用戶計算機上不會發生......所有構建和測試都有自己的項目 –

+0

神祕 - 它適用於我 - 我在上面添加了更多猜測 – MiMo

+0

我正在運行Windows 8, VS 2012終極更新2 CPT,TS 0.8.3.1,Web Essentials 2.6 ....看起來可能會有更新2的新CPT,所以我要安裝它並查看它是否修復它..但是我不' t認爲其他開發者的問題是在更新2所以... –