【问题标题】:Does a JavaScript source map file still work after minimizing the source code file?最小化源代码文件后,JavaScript 源映射文件是否仍然有效?
【发布时间】:2014-01-06 13:10:10
【问题描述】:

我的背景

我使用TypeScriptVisual Studio 将很棒的强类型语法编译成放荡的JavaScript。我已将项目和 Visual Studio 配置为执行以下操作:

  1. 将多个已编译的 JavaScript 文件合并到一个 JavaScript 文件中
  2. 生成源映射文件

在生成的源映射文件中找到的我生成的JSON 对象中,我可以在他的“名称”属性中看到大量对方法名称和其他内容的引用,这些内容出现在我的原始 TypeScript .ts 文件中.这些“符号名称”(specification proposal 喜欢这样称呼它们)也出现在我的最终 .js 文件中。

我试图解决的一个问题是最小化生成的 JavaScript 文件,同时保留源映射文件提供的所有很酷的功能

问题

由于我还没有弄清楚如何让 Visual Studio 自己最小化 JavaScript 文件,然后生成很棒的源映射文件(如何?),如果我使用其他工具来做会发生什么缩小;未修改的源映射文件是否仍能按预期工作?

我的担心主要是因为我假设该工具将在缩小文件中提供新的符号名称。当然,我最喜欢的解决方案是让 Visual Studio 在生成源映射文件之前自己进行缩小。

【问题讨论】:

  • UglifyJS2 有一个选项 (--in-source-map) 来指定输入源文件,然后使用它为缩小版本生成新的源文件。我目前没有时间解释如何使用。
  • 不会这样做 - 生成 源地图文件 - 失去与原始 .tsfiles 的边界?
  • 您需要告诉UglifyJS2您要缩小的文件及其当前的源映射。然后它将缩小并生成一个新的源映射,以便有一个从缩小到.ts 的映射
  • 太酷了。听起来真的很棒!我会在这里搜索我的出路并找出操作方法。我可能会在自我发布的答案中记录我的步骤。但是,如果您有时间请假,请尝试发布一些我可以接受的答案。感谢您的帮助。
  • 哦,我多么想听听反对者背后的理由。

标签: javascript typescript source-maps minimization


【解决方案1】:

部分答案是,截至目前,最新版本的 TypeScript 编译器支持not support minification

【讨论】:

  • 它曾经支持过缩小吗?似乎这是一个外部功能。您提到的链接是这样说的:“目前不支持缩小”。关于缩小(和去除 cmets)的官方立场是使用外部工具。
猜你喜欢
  • 1970-01-01
  • 2014-12-15
  • 2014-12-24
  • 1970-01-01
  • 1970-01-01
  • 2014-09-20
  • 1970-01-01
  • 2014-03-10
相关资源
最近更新 更多