Ember.js 如何扩展 ember-cli-addon 组件
Ember.js how to extend ember-cli-addon component
我在我的 Ember 应用程序中使用 Stripe,我已按照此处的说明进行设置:
https://github.com/sweettooth/ember-cli-stripe
所以我的应用现在就在,通过这个插件安装的 ember-checkout 组件在
myappname/node_modules/ember-cli-stripe/app/components/stripe-checkout
现在,我想创建一个新组件 "my-stripe-checkout",并让它扩展默认的 ember-cli-stripe 组件。
我试过:
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';
在我通过 Ember g 生成的 my-stripe-checkout 组件中,但无济于事。
我总是收到这种模式的错误:
Could not find module `app/components/stripe-checkout` imported from `myappname/components/my-stripe-checkout`
根据这个问题:
我试过
import StripeCheckoutComponent from 'ember-cli-stripe/components/stripe-checkout';
但同样的错误。
我也都试过了:
export default Ember.StripeCheckoutComponent.extend({ })
和
export default StripeCheckoutComponent.extend({})
导入的每次迭代,但似乎没有任何效果。如何扩展 ember-cli-addon 组件?
嗯,你需要明白,插件的 app
目录直接合并到你的应用程序结构中。最好的做法是将所有代码都保存在 addon
目录中,但是 ember-cli-stripe
并没有这样做。所以从你的 components
目录里面你基本上可以做
import StripeCheckoutComponent from './stripe-checkout';
或
import StripeCheckoutComponent from 'YourAppName/components/stripe-checkout';
如果组件位于插件的 addon
目录中,正确的方法是:
import StripeCheckoutComponent from 'ember-cli-stripe/components/stripe-checkout';
我在我的 Ember 应用程序中使用 Stripe,我已按照此处的说明进行设置: https://github.com/sweettooth/ember-cli-stripe
所以我的应用现在就在,通过这个插件安装的 ember-checkout 组件在
myappname/node_modules/ember-cli-stripe/app/components/stripe-checkout
现在,我想创建一个新组件 "my-stripe-checkout",并让它扩展默认的 ember-cli-stripe 组件。
我试过:
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';
在我通过 Ember g 生成的 my-stripe-checkout 组件中,但无济于事。
我总是收到这种模式的错误:
Could not find module `app/components/stripe-checkout` imported from `myappname/components/my-stripe-checkout`
根据这个问题:
我试过
import StripeCheckoutComponent from 'ember-cli-stripe/components/stripe-checkout';
但同样的错误。
我也都试过了:
export default Ember.StripeCheckoutComponent.extend({ })
和
export default StripeCheckoutComponent.extend({})
导入的每次迭代,但似乎没有任何效果。如何扩展 ember-cli-addon 组件?
嗯,你需要明白,插件的 app
目录直接合并到你的应用程序结构中。最好的做法是将所有代码都保存在 addon
目录中,但是 ember-cli-stripe
并没有这样做。所以从你的 components
目录里面你基本上可以做
import StripeCheckoutComponent from './stripe-checkout';
或
import StripeCheckoutComponent from 'YourAppName/components/stripe-checkout';
如果组件位于插件的 addon
目录中,正确的方法是:
import StripeCheckoutComponent from 'ember-cli-stripe/components/stripe-checkout';