0

私はhtml5ゲームエンジンで作業していますが、同時にこのエンジンを使用してゲームを行っています。2つのes6クロスプロジェクトを使ってgoto定義を作成する

両方ともES6を使用して書き込まれ、webpackを使用して書き換えられます。エンジンとアプリケーションはどちらも独自のpackage.jsonで独自のディレクトリにあります。

私はwebpackを使用してエンジンを構築し、次にnpm linkを使用して、エンジンを指し示すグローバルnode_modulesにリンクを追加してから、アプリケーションのディレクトリにnpm link engineを使用してエンジン開発ディレクトリを指定します。

これはうまくいきました。ソースマップを使用すると、デバッガを使用して、エンジンとアプリケーションの両方でナビゲートできます。

VSCodeには、2つのディレクトリを持つワークスペース(私はインサイダービルドを使用しています)があります.1つはエンジン、もう1つはアプリケーションです。エンジンで作業しているときに、任意のメソッドをcmd +クリックするとエンジンの正しいファイルが開きます。同じことがアプリにも当てはまります。

しかし、エンジンを使用するappディレクトリ内のファイルを処理しているときに、エンジンからcmd +クリックしたメソッドは機能しません。正しく動作させる方法はありますか?これは、エンジンのpackage.jsの主なプロパティがメインの(webpack)ES6アプリケーションのエントリポイントではなく、(蒸散された)ビルドされたメインを参照しているからです。期待どおりに動作させるにはどうすればよいですか?

答えて

0

実際、これはVSCodeのTypescriptコンパイラで使用されているjsconfig.json設定ファイルを使用して修正できます。

コンパイラがpackage.jsonファイルのメインエントリを使用する代わりに、コンパイラによって使用される別名を受け入れることができます。

は例えば、私はこれを使用:

{ 
    "compilerOptions": { 
     "target": "es2016", 
     "module": "es6", 
     "baseUrl": ".", 
     "paths": { 
      "athenajs": [ 
       "./node_modules/athenajs/js/athena-module" 
      ] 
     } 
    } 
} 

はjsconfig.jsonの詳細については、このcookbookを参照してください。

関連する問題