0

コーヒー スクリプトで記述された Angular アプリケーションで作業している場合があります。コーヒーで書かれた既存の ng1 ディレクティブに新しいコンポーネントを埋め込もうとしています。ドキュメントによると、私はただしなければならないはずです...

1.) ファイルの名前を .ts に変更します 2.) 次の (ish) を追加します...

import { HeroDetailComponent } from './hero-detail.component';
/* . . . */
angular.module('heroApp', [])
  .directive('heroDetail', upgradeAdapter.downgradeNg2Component(HeroDetailComponent));

問題は、私がコーヒースクリプトを使用しているため、それを行うことができないことです。だから私はこのように(JSを明確にするために)バックティックにそれを追加しようとしました...

`import { HeroDetailComponent } from '../../../ng2/spinner/spinner.component';`

upgradeAdapter.downgradeNg2Component(HeroDetailComponent));

次に、.coffee ローダーをインクルードするように変更します

{
  test: /\.coffee$/,
  loaders: ["coffee-loader", "coffee-import", "ts"]
},

しかし、これはトランスパイル中に大量のエラーをスローします。すべてのファイルをトランスパイルして拡張子を変更するよりも簡単な方法はありますか? これは役立つので、まだマージできます。

4

1 に答える 1

0

私のコードにはいくつか問題がありましたが、本当の問題は、コーヒー スクリプトがインポートを必要とする方法でした。こんな感じに変えました…

{ NgSpinnerComponent } = require '../../../ng2/upgrade.adapter';
...
module.directive("ngSpinner", NgSpinnerComponent)

更新アダプターの場所...

import { UpgradeAdapter } from '@angular/upgrade';
import { MyModule } from './my.module';
import { SpinnerComponent } from './spinner/spinner.component'
const upgradeAdapter = new UpgradeAdapter(MyModule);
var NgSpinnerComponent = upgradeAdapter.downgradeNg2Component( SpinnerComponent );
export {upgradeAdapter, NgSpinnerComponent}
于 2016-10-07T15:51:16.277 に答える