<分区>
我正着手使用 Angular2 和 Typescript 构建一个新的应用程序,以前从未同时使用过这两种技术(但分开使用过,所以我有一些经验)。
我的问题是,如果 Typescript 编译器将您的代码转换为 JavaScript,那么应用程序的客户端如何调试,我最终得到大量机器生成的代码(有时看起来像机器生成的代码)代码)。
<分区>
我正着手使用 Angular2 和 Typescript 构建一个新的应用程序,以前从未同时使用过这两种技术(但分开使用过,所以我有一些经验)。
我的问题是,如果 Typescript 编译器将您的代码转换为 JavaScript,那么应用程序的客户端如何调试,我最终得到大量机器生成的代码(有时看起来像机器生成的代码)代码)。
最佳答案
Typescript 是一个转译器,也可以为您生成源映射。 typescript 输出与源本身并没有太大不同。您始终可以只调试 js 文件。
但是,如果您有一个大型捆绑的 js 文件并且想要调试单个 ts 文件,则需要导出源映射。
Typescript 有几个 sourceMapping 标志。参见 https://www.typescriptlang.org/docs/handbook/compiler-options.html
所有当前的网络浏览器都可以加载源映射并将断点映射回源文件。
您可以将源映射和源捆绑为 .js 文件的一部分。 (注意:这会使 js 文件变大)
tsc --sourceMap --inlineSources --inlineSourceMaps
或者,如果您的网络服务器可以提供您可以设置的源 .ts 文件和 .map 文件
tsc --sourceMap --sourceRoot <root of src>
第二个选项导致 js 文件在末尾带有额外的 sourceMappingUrl 注释,但浏览器的开发工具必须查找 .map 文件和源文件。
关于javascript - 如何调试生产 Angular2/Typescript 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40643324/
相关文章:
html - CSS 图像悬停在水平方向上有效,但在垂直方向上无效
angular - 如何在带 Angular ionic 项目上导入 npm semver?
angular - Fontawesome 5 与 Angular 2+
javascript - Angular nvd3 MultiChart X 轴双 Y 轴校准问题
javascript - 如何避免 JavaScript 中大数的科学记数法?
python - pycharm 调试器控制台无法更改变量的值
javascript - 没有 FormPanel 的 Google Apps 脚本 FileUpload()?