2017-02-16 25 views
11

ile kullanın Yazma özelliği olmayan Angular-CLI'da bir kitaplığı yürütmenin bir yolu var mı? Benim durumumda Köşeli olmayan A-Frame bileşenlerini Açısal 2

, ben aframe-template-component kullanmak k-frame yüklemeye çalışıyorum ve documentation aracılığıyla, ben daktilo versiyonu ile kullanmak için bir typings.d.ts dosyası oluşturmak zorunda olduğunu anlıyoruz. this sorusuna göre farklı seçenekleri denedim ancak dosyayı üretemiyorum veya doğrudan projenin içine aktaramıyorum.

Ben çalıştırmak ve dts-gen yüklemek de denedi, ancak aşağıdaki hatayı alıyorum: Ben ilk A-frame kayıt var demektir

Component attempted to register before AFRAME was available

. Bir süredir takıldığımdan beri, aşağıdaki sorunun nasıl çözüleceğine dair bir fikrin var mı? Yanıtlarınız için şimdiden teşekkür ederiz!

+0

başlığı "gölgelendirici önce kayıt edilip edilmediğini kontrol edin" kafa karıştırıcı. "Açısal 2 ile türlenmemiş A-Frame bileşenleri kullan" gibi bir şeyle daha iyi yanıtlar alabilirsiniz. –

+0

İpucu adam için teşekkürler! Takdir. Soruyla ilgili olarak, yanlış yaptığım şeyler hakkında herhangi bir fikir var mı? –

+0

O kütüphanede aşina değilim, ama hata 'Bileşen AFRAME önce available' daktilo hatası değil kayıt çalıştı. Kitaplık tarafından yayılan bazı çalışma zamanı hatasıdır. Ben hiç kütüphane ihracat şey (ve 'package.json' hiçbir' "ana" 'özelliği yoktur) dair hiçbir kanıt göremedim. Ayrıca, örnekte şunu gerektirir ('kframe'); '. Bağımlılıklarınızı geçersiz bir sırada yüklediğinize hiç şaşırmam. –

cevap

2

Şu anda kolay bir iş değildir.

AngularCli ile denedim. Ben ng new kullanarak yeni bir proje oluşturduk ve ben bu adımları izleyin vardır: nedeniyle hem (zone.js için

npm install aframe aframe-template-component --save 
  • :

    1. ng new kframetest

    2. kullanılarak aframe ve aframe-template-component yükleyin ve A-çerçevesi)attributeChangedCallback yakalamak için zone.js. önce A-frame yüklemeniz gerekir. Sonra (dosya polyfills.ts olarak) Eklediğim:

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

      Sadece import 'zone.js/dist/zone';

    3. arasında önce şablon olarak kframe sample kullanarak basit bir bileşeni oluşturun. <a-entity> gibi özel html etiketlerini ayrıştırabileceğiniz açısal amacıyla

    4. Eğer schemas özelliğini kullanarak NgModule bir CUSTOM_ELEMENTS_SCHEMA ve NO_ERRORS_SCHEMA eklemek zorunda:

      schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA] 
      
    5. uygulamayı çalıştırın. Şimdi

    konsol, A-çerçeve koşu, görebilirsiniz:

    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 
    

    Ama büyük sorun Açısal Tryes HTML ayrıştırmak ve o AFRAME şablon sözdizimini anlamak kalmamasıdır , bu hataları alıyorum: Ben yaklaşık arama edilmiştir

    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> 
    

    Açısal olmadan html ekle ama onu bulamadım ...

    I endeksi html şablonu eklemek için denedim ve iş gibi görünüyor ama bu istediğiniz bir durum değil anlıyoruz.

    buradan kodunu alabilirsiniz: https://gitlab.com/jros/angularcli-kframe

  • +0

    Çaba erkeğin için teşekkürler! Sonunda, sitenin yükleme performanslarını etkilemesine rağmen, 'index.html' şablonunu eklemeye çalışmayı başardım. –

    +1

    K-frame ve frame'i bilmiyordum ve beğendim. Herhangi bir şekilde, açısal projeye bir özellik talebi yapmayı düşündünüz mü? –

    +0

    Henüz adam, ama ben bu noktada :) –