2014-10-03 52 views
5

在使用ember-cli开发的我的应用程序中,我还需要一些外部资源,如bootstrap; 现在我将其导入通过Brocfile:在ember-cli中使用CDN

app.import('bower_components/bootstrap/dist/css/bootstrap.css'); 
app.import('bower_components/bootstrap/dist/js/bootstrap.js'); 

是否有可能使用CDN,而不是本地文件,还定义回调到本地文件的情况下,CDN是离线?

+0

我不确定这样做会有多大好处,因为您的所有资产都将通过ember-cli缩小为其[资产编译](http://www.ember-cli.com/ #资产编译)。你试图到达这里有什么好处? – Dhaulagiri 2014-10-03 22:17:14

+1

那么,我认为使用CDN是一种很好的做法,尤其是对于较大型的库,因为许多网站都使用它们,所以很多用户已经将它们放在浏览器的缓存中;但定义回调也是一个好习惯,即使CDN很强大;我在阅读有关最佳实践的文档后,从我的第一个Web应用程序执行此操作。 – 2014-10-03 22:24:23

+0

您可以在'index.html'中将CDN脚本标记包含在CDN中。我认为 – Dhaulagiri 2014-10-03 22:25:23

回答

1

Ember-cli-cdn听起来像是对我的问题的部分解决方案。以下是来自自述文件的报价:

此插件允许在开发过程中使用库的本地副本,然后在部署应用程序时自动切换到CDN版本。

但它不能解决“如果CDN离线时回退到本地文件”问题。我知道的唯一模式(也用在ember中)是将脚本加载到允许页面呈现的html结尾,即使CDN没有响应。

+0

它看起来像现在有回退(如果它不是当你最初发布这个答案时),根据[本页]上的示例结果(https://github.com/dakal-oleksandr/ember-cli- CDN)。在那个例子中,在jQuery的CDN加载之后,它具有这个:''这将回退到本地文件。 – 2016-08-04 10:27:17