【问题标题】:Original source of typescript from compiled javascript and source map来自编译的 javascript 和 source map 的 typescript 的原始来源
【发布时间】:2016-01-18 06:11:16
【问题描述】:

我以前没有使用过源地图和打字稿,所以请记住这一点。

我必须使用从多个打字稿文件编译为单个 javascript 文件的项目。

我有这些文件:

lib.js (the compiled js code of the project)
lib.js.map (the source map of the lib.js)
lib.d.ts (the "header" of the lib.js before it was compiled)

所以我尝试在浏览器中查看原始源文件(原始 .ts 文件),但它们在 chrome 中都是空白的,firefox 在其中输出此消息:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /path/source/file/file.ts was not found on this server. </p>
</body></html>

我能否以某种方式查看原始 .ts 文件,编译后的 lib.js 文件很大(2MB+),使用起来简直是一场噩梦。

提前感谢您的帮助!

【问题讨论】:

  • 您确定 ts 文件存在于您的 Web 服务器上并且 Web 服务器提供 ts 文件(某些 Web 服务器将只提供某些文件类型)。如果您尝试从 Web 浏览器访问 ts 文件,您应该可以像访问任何其他资源(js、html、图像)一样访问它。如果浏览器无法以这种方式访问​​ ts 文件,它将默认返回给您显示 javascript。
  • 所以这意味着我必须拥有原始的 .ts 文件:[?不幸的是我没有它们,是否有可能从我帖子中的三个文件生成它们?
  • 抱歉,没有办法(据我所知,而且极不可能存在)从 js、.d.ts 和 js.map 生成 ts。这些中的任何一个中都不存在原始来源。 *.js 只是没有任何 ts 优点的 javascript,.d.ts 仅包含可公开访问的符号,*.js.map 仅指定 js 如何映射到 ts 文件,但不包含 ts 本身。

标签: javascript google-chrome firefox typescript source-maps


【解决方案1】:

看看你生成的.js文件的最后一行是不是你的map文件的路径。如果您使用 Chrome 或 Firefox,则路径必须是相对的。如果路径是绝对路径,则会出现 404 错误。 改变这个:

//# sourceMappingURL:X;/path/AdvantageClientAD.js.map

对此: //# sourceMappingURL:AdvantageClientAD.js.map

如果您的 ts 文件与部署的 .js 文件位于同一个项目中,则此方法有效。但如果您在其他项目中有您的打字稿文件,则不会。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-27
    • 2011-12-22
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 2012-09-19
    • 2019-07-22
    相关资源
    最近更新 更多