我正在开发一个html5游戏引擎 - 并行 - 我正在使用这个引擎进行游戏。
两者都是使用ES6编写的,并使用webpack进行编译。引擎和app都在他们自己的目录中,有自己的package.json。
我使用webpack构建引擎,然后使用npm link
在指向引擎的全局node_modules中添加链接,然后在应用程序目录中使用npm link engine
指向引擎开发目录。
这样工作正常,使用源图我可以使用调试器并在引擎和应用程序内导航。
在VSCode中,我有一个工作区(我正在使用内部构建),有两个目录:一个是引擎,另一个是应用程序。在使用引擎时,我可以cmd +单击任何方法,这将在引擎中打开正确的文件。该应用也是如此。
但是当我在使用引擎的app目录中处理文件时,cmd +点击引擎中的某些方法将无法正常工作。有没有办法让它正常工作?我想这是因为引擎的package.js中的主要属性是指(已编译的)已构建的main,而不是主(webpack)ES6应用程序入口点。我该怎么做才能使它按预期工作?
答案 0 :(得分:0)
实际上这可以使用VSCode的Typescript编译器使用的jsconfig.json
配置文件来修复。
它可以接受编译器将使用的别名,而不是使用package.json文件的主条目。
例如,我用过这个:
{
"compilerOptions": {
"target": "es2016",
"module": "es6",
"baseUrl": ".",
"paths": {
"athenajs": [
"./node_modules/athenajs/js/athena-module"
]
}
}
}
有关jsconfig.json的详细信息,请参阅此cookbook。