[英]Making goto definition work with two es6 cross projects
我正在使用html5游戲引擎,並且-並行-我正在使用該引擎進行游戲。
兩者均使用ES6編寫,並使用webpack進行轉譯。 引擎和應用程序都位於各自的目錄中,並具有各自的package.json。
我使用webpack構建引擎,然后使用npm link
在全局node_modules中添加指向引擎的npm link engine
,然后在應用程序目錄中使用npm link engine
指向引擎開發目錄。
一切正常,使用sourcemaps,我可以擁有調試器,並在引擎和應用程序中導航。
在VSCode中,我有一個包含兩個目錄的工作區(我正在使用內部人員構建):一個是引擎,另一個是應用程序。 在使用引擎時,我可以Cmd +單擊任何方法,這將在引擎中打開正確的文件。 該應用程序也是如此。
但是,當我在使用引擎的應用程序目錄中的文件上工作時,cmd +單擊引擎中的某些方法將不起作用。 有沒有辦法使其正常工作? 我猜這是因為引擎的package.js中的main屬性是指(已編譯的)內置main,而不是ES6應用程序的主要入口。 我該怎么做才能使其按預期工作?
實際上,可以使用jsconfig.json
的Typescript編譯器使用的jsconfig.json
配置文件解決此問題。
它可以接受將由編譯器使用的別名,而不是使用package.json文件的主條目。
例如,我使用了這個:
{
"compilerOptions": {
"target": "es2016",
"module": "es6",
"baseUrl": ".",
"paths": {
"athenajs": [
"./node_modules/athenajs/js/athena-module"
]
}
}
}
有關jsconfig.json的更多信息,請參見此食譜 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.