2017-01-19 3 views
0

Ich bin mit Streifen in meiner Ember app, und ich habe es nach den Anweisungen aufgestellt erweitern hier: https://github.com/sweettooth/ember-cli-stripeEmber.js wie Ember-cli-Add-on-Komponente

so wie mein App jetzt steht , die glut-Checkout-Komponente über dieses Addon installiert ist in

myappname/node_modules/glut-cli-Streifen/app/components/Streifen-Kasse

Nun, ich möchte eine neue Komponente „my-Streifen schaffen "Checkout", und erweitern Sie die Standard-Ember-Cli-Stripe-Komponente.

Ich habe versucht:

import StripeCheckoutComponent from '../node_modules/ember-cli-stripe/app/components/stripe-checkout'; 
import StripeCheckoutComponent from 'ember-cli-stripe/app/components/stripe-checkout'; 
import StripeCheckoutComponent from 'app/components/stripe-checkout'; 

in meinem my-Streifen-Checkout-Komponente, die ich über Ember g erzeugt, aber ohne Erfolg.

ich immer einen Fehler dieses Musters erhalten:

Could not find module `app/components/stripe-checkout` imported from `myappname/components/my-stripe-checkout` 

Und nach dieser Frage: How to extend an ember-cli addon?

Ich versuchte

import StripeCheckoutComponent from 'ember-cli-stripe/components/stripe-checkout'; 

aber gleichen Fehler machen.

Ich habe auch versucht, beide:

export default Ember.StripeCheckoutComponent.extend({ }) 

und

export default StripeCheckoutComponent.extend({}) 

zu jeder Iteration der Importe, aber nichts scheint zu funktionieren. Wie erweitere ich eine ember-cli-addon Komponente?

Antwort

1

Nun, Sie müssen verstehen, dass das app Verzeichnis eines Addons direkt mit Ihrer App-Struktur zusammengeführt wird. Es ist die beste Vorgehensweise, den gesamten Code im Verzeichnis addon zu speichern, jedoch ember-cli-stripe hat dies nicht getan. So aus dem Inneren Ihres components Verzeichnis können Sie im Grunde tun

import StripeCheckoutComponent from './stripe-checkout'; 

oder

import StripeCheckoutComponent from 'YourAppName/components/stripe-checkout'; 

Wenn die Komponente im addon Verzeichnis des Add-ons wäre der richtige Weg wäre:

import StripeCheckoutComponent from 'ember-cli-stripe/components/stripe-checkout'; 
+0

Beleuchtung in der Tat. Was mir fehlte, ist, dass die Struktur dieses speziellen Addons anders ist und ich nicht auf den richtigen Pfad verwiesen habe. Ich war mir nicht hundertprozentig sicher, wo die Add-Ons zusammengeführt wurden. Vielen Dank!! – Darshan