2017-02-16 7 views
11

タイピングがないAngular-CLIでライブラリを実行する方法はありますか?私の場合はタイプ2のタイプなしのAフレームコンポーネントを使用する

は、私がaframe-template-componentdocumentation経由を使用するようにk-frameをインストールしようとしています、私は活字体でそれを使用するためにtypings.d.tsファイルを作成する必要があることを理解しています。 this質問によると、私はさまざまなオプションを試してみましたが、ファイルを生成したり、プロジェクト内で直接インポートすることはできません。

は、私が実行してdts-genをインストールすることも試してみましたが、私は次のエラーを取得しています:私は最初のフレームを登録する必要があることを意味

Component attempted to register before AFRAME was available

。私はしばらくの間立ち往生しているので、次の問題を解決する方法について考えていますか?あなたの返信を前にありがとう!

+0

タイトル「シェーダがすでに登録されているか確認してください」は紛らわしいです。 「タイプ2のアンタイプAフレームコンポーネントを使用する」のようなもので、より良いレスポンスを得るかもしれません。 –

+0

チップマンに感謝します!感謝。質問に関して、私が間違っていることに関するアイデアは? –

+0

私はそのライブラリに慣れていませんが、「コンポーネントがAFRAMEが利用可能になる前に登録しようとしました」というエラーは、TypeScriptエラーではありません。 ライブラリによって実行時エラーが発生します。 ライブラリが全く何かをエクスポートしている(そして 'package.json'に' 'main" 'プロパティがない)という証拠はありません。 この例は 'require( 'kframe');'にも注意してください。私はあなたがあなたの依存関係を無効な順序でロードしているのに驚くことはありません。 –

答えて

2

現時点では簡単ではありません。

私はAngularCliで試してみました。私はng newを使用して新しいプロジェクトを作成していると私は、この手順に従ってありますため、両方の(zone.jsに

npm install aframe aframe-template-component --save 
    1. ng new kframetest

    2. を使用してaframeaframe-template-componentをインストールします。 Aフレーム) catch attributeChangedCallback zone.jsの前にAフレームをロードする必要があります。その後(ファイルpolyfills.tsに)私が追加しました:

      import 'aframe'; 
      import 'aframe-template-component'; 
      

      だけimport 'zone.js/dist/zone';

    3. の前にテンプレートとしてkframe sampleを使用して、簡単なコンポーネントを作成します。 <a-entity>のような特別のHTMLタグを解析することができますアンギュラするためには

    4. あなたは schemasプロパティを使用して NgModuleCUSTOM_ELEMENTS_SCHEMANO_ERRORS_SCHEMAを追加する必要があります。

      schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA] 
      
    5. は、アプリケーションを実行します。今

    コンソール、A-フレームランニングで、見ることができます:

    Put the A-Frame script tag in the head of the HTML before the scene to ensure everything for A-Frame is properly registered before they are used from HTML.

    aframe-master.js:75646 A-Frame Version: 0.5.0 (Date 10-02-2017, Commit #bf8b8f9) 
    aframe-master.js:75647 three Version: ^0.83.0 
    aframe-master.js:75648 WebVR Polyfill Version: dmarcos/webvr-polyfill#a02a8089b 
    

    しかし、大きな問題が角度tryesは、HTMLを解析すると、彼はAFRAMEテンプレートの構文を理解していないということです、あなたはこのエラーを取得:

    Unhandled Promise rejection: Template parse errors: Parser Error: Unexpected token # at column 6 in [src: #boxesTemplate] in KFrameTestComponent

    </a-assets> 
    <a-entity [ERROR ->]template="src: #boxesTemplate" 
          data-box1color="red" data-box2color="green" data-box3color"): [email protected]:12 
    

    Property binding src not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the @NgModule.declarations .

    </a-assets> 
    

    私が探してきましたAngularなしでhtmlを追加すると解析されますが、見つけられませんでした...

    私はテンプレートをインデックスhtmlに追加しようとしましたが、動作するようですが、あなたの希望する状況ではないことを理解しています。

    現在地からコードを取得することができます。https://gitlab.com/jros/angularcli-kframe

  • +0

    あなたの努力の男のためにありがとう!最後に、私はそれがウェブサイトの読み込みパフォーマンスに影響を与えても、 'index.html'にテンプレートを追加して動作させることができました。 –

    +1

    私はk-フレームとa-フレームを知らず、私はそれを気に入っていました。いずれにしても、角度のあるプロジェクトに機能要求を出すことを考えましたか? –

    +0

    まだ人間ではありませんが、私は今の時点でそうなると思います:) –

    関連する問題