2017-07-29 74 views
0

我是angular2和typescript的新手,并且使用angular CLI生成了一个简单的应用程序。在我继续之前,我必须说,我了解在VS Code中看到打字稿代码和在浏览器中运行的应用程序之间会发生什么差距。VS代码中的打字稿,测试和调试

在之前的编辑器中,我习惯于看到生成的.js文件,并将运行中的应用程序视为具有生成文件的网页。但是当运行ng serve时,任何地方都没有.js文件,应用程序仍然在浏览器中运行。我想知道的第一件事是如何发生 - 我认为打字稿不可被浏览器阅读。

其次,我在使用VS代码调试Karma测试运行器中的单元测试时遇到了问题。我能够调试应用程序本身,我可以将调试器附加到Karma实例,但是当我在测试中放置断点时,出现错误breakpoint ignored because generated code not found (source map problem?)。作为参考,这是我的launch.json

{ 
     "type": "chrome", 
     "request": "attach", 
     "name": "Attach Karma Chrome", 
     "address": "127.0.0.1", 
     "port": 9333, 
     "sourceMaps": true, 
     "webRoot": "${workspaceRoot}" 
    } 

和我karma.conf.js包含

browsers: ['ChromeDebugging'], 
customLaunchers : { 
    ChromeDebugging: { 
    base: 'Chrome', 
    flags: ['--remote-debugging-port=9333'] 
    } 
}, 

编辑:这是一个完整karma.conf.js

+0

您的配置对我而言效果很好。你能提供完整的'karma.conf.js'内容吗? –

回答

0

试试这个

{ 
     "type": "chrome", 
     "request": "attach", 
     "name": "Attach Karma Chrome", 
     "address": "127.0.0.1", 
     "port": 9333, 
     "sourceMaps": true, 
     "webRoot": "${workspaceRoot}/test" 
    } 
0

我已经决定调试在浏览器中使用进行测试存储库