无法将已编译的 JS 文件映射到 Electron 的 browserWindow 中的源 TS 文件

Unable to map compiled JS file to the source TS file in Electron's browserWindow

我正在尝试调试预加载到 Electron 的 browserWindow 中的打字稿文件,但我无法将编译后的文件正确映射到源文件。

我在控制台中收到此警告

DevTools failed to parse SourceMap: file:///C:/Users/aabuhijleh/Desktop/Projects/testing/electron-typescript-quick-start/views/preload.js.map

Chromium 显然正在寻找相对于加载的 html 文件的 .map 文件?

我的项目结构是这样的

Here's my repository

更新:在 macOS 上,我没有收到此错误,但我仍然在 Windows

上收到它

好像是Electron的问题。加载“preload.js”脚本时,不考虑脚本相对于“index.html”的路径,而是假定它们在同一个文件夹中。

解决方法是在 tsconfig.json 中设置 "inlineSourceMap": true,然后源映射和脚本在同一个文件中。

更新:

除了使用tsc,我们还可以选择Webpack为Electron编译TypeScript

https://blog.scottlogic.com/2017/06/06/typescript-electron-webpack.html