VS代码AMD模块系统

我正在使用TypeScript来处理Electron应用程序,并且在尝试找出要使用的模块加载系统时遇到了一些问题。 我一直在深入研究VS Code代码(因为许多人认为它是电子应用程序的“海报小孩”),以便更好地理解约定/做某些事情的最佳方法,我注意到他们正在使用AMD模块(在src下的tsconfig.json文件中,选项"module": "amd""moduleResolution": "classic""baseUrl": "."都设置了),它们似乎正在使用requirejs-like调用某些东西,比如将URL加载到BrowserWindow中,在那里使用require.toUrl('vs/workbench/electron-browser/bootstrap/index.html'); 获取完整的URL加载。

从我的(理所当然有限的)理解,这解决了一个问题,我运行到我的TypeScript(位于src目录)编译到输出目录(调out ),然后提供.js文件电子执行,这意味着我的path像mainWindow.loadUrl(__dirname + '/index.html') out/index.html mainWindow.loadUrl(__dirname + '/index.html')突然指向out/index.html而不是预期的src/index.html 。 但是,当我通过VS代码项目searchrequirejs模块的任何参考,我找不到任何东西,除了包含此代码的require.d.ts文件

 declare var define: { (moduleName: string, dependencies: string[], callback: (...args: any[]) => any): any; (moduleName: string, dependencies: string[], definition: any): any; (moduleName: string, callback: (...args: any[]) => any): any; (moduleName: string, definition: any): any; (dependencies: string[], callback: (...args: any[]) => any): any; (dependencies: string[], definition: any): any; }; declare var require: { toUrl(path: string): string; (moduleName: string): any; (dependencies: string[], callback: (...args: any[]) => any, errorback?: (err: any) => void): any; config(data: any): any; onError: Function; __$__nodeRequire<T>(moduleName: string): T; }; 

我已经在我的项目中创build了一个包含这个的types文件,但是当我运行我的编译过的JavaScript时,我得到了一个define is not defined错误。 我的问题是:VS Code能够如何使用标准的Node require模块使用AMD模块,看起来没有使用类似requirejs的东西,并且可以实现类似的模式来解决从输出目录运行传输的JavaScript代码时遇到的path问题? 谢谢!