【发布时间】:2016-07-28 00:37:12
【问题描述】:
(在某种程度上与 to this 相关但更具体到 VsCode)
我正在尝试使用 Visual Studio 代码调试 the AngularU starter kit。 但它正在将 单个 bundle.js 与侧面 bundle.js.map 中的 ts 输出合并:
↳web
↳dist
↳client
↳server
⇒bundle.js
⇒bundle.js.map
↳src
⇒server.ts
⇒client.ts
当我尝试运行它时,我从 VS UI 收到一个错误:
request 'launch': cannot launch program '/home/.../web/src/server.ts'; setting the 'outDir' attribute might help
当输出文件未合并时,outDir 在我的其他项目(不使用 webpack)上工作正常,但在这里它没有帮助。很确定他正在寻找 server.js(但只有一个 bundle.js 及其映射文件)。
生成的单个文件输出是否有任何 outFile 选项?
我的launch.json:
{
"name": "WebServer",
"type": "node",
"request": "launch",
"program": "./web/src/server.ts",
"stopOnEntry": false,
"args": [],
"cwd": "./web",
"runtimeExecutable": null,
"runtimeArgs": [
"--nolazy"
],
"env": {
"NODE_ENV": "development"
},
"externalConsole": false,
"sourceMaps": true,
"outDir": "./web/dist/server"
}
编辑: 当我将 webpack 服务器输出重命名为 server.js 和 server.map.js(而不是 bundle .*),但不幸的是断点不起作用:
Here is the content of the server.js.map file.
TS 编译器和 Webpack 都配置为根据 this tutorial 创建 sourcemap。
我错过了什么吗?
EDIT2:断点的问题似乎是地图文件中的源 URI。
当我打开这个
"webpack:///./src/server.ts",
进入这个
"../../src/server.ts",
断点正在工作。
【问题讨论】:
-
我也很想知道你是如何解决这个问题的。目前正在尝试弄清楚如何仅调试 Webpack'd 和使用 TypeScript 的非节点 JS :( 如果您以某种方式解决,请告诉我!我也会这样做
-
@MarkPieszak 我很接近让它工作,唯一缺少的是能够使用 webpack 更新 sourceRoot:github.com/webpack/webpack/issues/238#issuecomment-207065290
标签: typescript angular webpack visual-studio-code