vt5*_*491 10 typescript angular-cli angular
我使用angular2 CLI(ember cli)生成了一个打字稿项目.我正在使用Chromium Web Developer工具进行调试.我在开发者工具设置中选择了"启用javascript源地图".我看到源视图中列出的.js文件和.ts.但是,当我选择它们时,.ts(typescript)文件显示为空,即它无法找到它们.
屏幕打印显示情况:
如果我选择它们,我可以看到.js文件的文本.
.ts文件没有被复制到dist目录中,这对我来说似乎是一个问题,但我看到其他地方的例子显示了典型的angular2 cli dist结构,它们也没有.ts文件.
我的"tsconfig.json"的相关部分显示我启用了源映射:
1 "compileOnSave": false,
2 "compilerOptions": {
3 "declaration": false,
4 "emitDecoratorMetadata": true,
5 "experimentalDecorators": true,
6 "mapRoot": "",
7 "module": "system",
8 "moduleResolution": "node",
9 "noEmitOnError": true,
10 "noImplicitAny": false,
11 "outDir": "../dist/",
12 "rootDir": ".",
13 "sourceMap": true,
14 "sourceRoot": "/",
15 "target": "es5"
16 },
Run Code Online (Sandbox Code Playgroud)
js.map文件的制作和驻留在DIST目录旁边的.js文件.
映射文件示例(部分):
{"version":3,"file":"app.js","sourceRoot":"/","sources":["app.ts"],"names":[],"mappings":";;;;;;;;;;;;;YAGA,mB
Run Code Online (Sandbox Code Playgroud)
我试过:
1)将.ts文件从src复制到dist.
2)手动编辑app.js.map文件的各种尝试,例如sourceRoot和sources.
目前还不十分清楚js.map文件中的"/"是什么:项目的src目录还是dist目录?如果我编辑.js.map文件,我是否必须刷新浏览器以获取它?
我认为基本问题是它在src目录中寻找ts文件,这超出了浏览器的范围(因为它位于"../src").
Chromium将ts文件的路径显示为" http:// localhost:4202/app/cpp-scenes.ts ".但是当我把.ts文件放在那里时,没有骰子.
我不知道这是一个js映射问题,一个Angular 2问题,一个Angular2 CLI问题,还是一个打字稿问题.
当控制台说出"第52行中的错误"时,这真的很痛苦,但是我不能跳到那里并插入一个断点等等.
有没有其他人有幸在Angular2 CLI项目中获得源映射?
vt5*_*491 10
我能够让这个工作.您必须将角度CLI src文件夹添加到工作区,然后在其中一个.ts文件上"映射到网络资源".
注意:此示例假定客户端和服务器在同一台计算机上运行的情况.如果您遇到客户端在Windows机器上,但服务器在Linux上运行的情况,那么在客户端机器上,您必须将Linux服务器源目录挂载为Windows共享,然后指定类似的东西
Run Code Online (Sandbox Code Playgroud)\\192.168.1.134\myShare\myProject\src\client作为工作区文件夹.
我最近不得不这样做,虽然它有点复杂,但它从根本上与本地案例相同
我拍摄了整个过程的屏幕截图,所以最简单的方法就是展示这些.
现在我可以在.ts文件中设置断点,并深入查看.ts源的错误消息.
基本技巧是您必须手动将源ts文件目录添加到Chrome,因为文件不在服务目录下.映射保持有效,直到您手动删除它(通过右键单击.ts文件并选择"删除网络映射")或直到您关闭浏览器(然而它将保留映射刷新)
| 归档时间: |
|
| 查看次数: |
7304 次 |
| 最近记录: |