更新
您可以阅读下面的所有详细信息.. 但基本上,现在不管我做什么 VS2012 Typescript 正在编译和保存 ANSI 文件......
我可以手动将文件重新保存为 UTF-8 并且一切正常..
我在 Windows 8 上,我已经在 3 个不同城市的 5 个不同开发人员使用的 5 台不同机器上重现了这个问题......
唯一的共同点是 Windows 8
我有一个示例项目,它在 IE 中运行良好,但在 Chrome 或 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 = {
};
这是 Chrome “认为”它从 IIS(8 和 8 express)接收到的内容:
昨天爼晥牥湥散潆瑡㵨⸢⼮墙浡睥牯⽫潃敲琮≳⼠ാ瘊牡䴠噖㭍昨天湵潩䴨噖⥍笠†††庆灁汰捩瑡潩‽无聊潩⤨笠
更新
这是文件的 chrome 调用的标题
- 要求 -
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
- 回复 -
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 中使用 TypeScript 编译器
2) 使用 Web Essentials
A) 设置和不设置 UTF-8 BOM 标志为真
B)在构建时重新编译和不重新编译
我可以提供一个示例项目,或者如果您阅读本教程,您将看到我在说什么https://github.com/CatapultSystems/atlatl/wiki/Visual-studio-hello-world
我完全不知道是什么原因造成的……而且我全神贯注于发生了什么……