Ember.js CDN的余烬CLI部门?
加载我的ember CLI应用程序目前需要下载一个3Mb文件,其中大部分由jquery、ember、bootstrap等公共库组成。3Mb不是很大,但通过缓慢的连接可以看到,因此我想去掉所有公共库,改为从CDN获取它们。这个想法是,它们将被浏览器缓存,这样就不需要在每次我更新我的应用程序时重新下载(这在目前非常常见)。我已经阅读了这个问题,它指出简单地向index.html添加一个Ember.js CDN的余烬CLI部门?,ember.js,cdn,ember-cli,Ember.js,Cdn,Ember Cli,加载我的ember CLI应用程序目前需要下载一个3Mb文件,其中大部分由jquery、ember、bootstrap等公共库组成。3Mb不是很大,但通过缓慢的连接可以看到,因此我想去掉所有公共库,改为从CDN获取它们。这个想法是,它们将被浏览器缓存,这样就不需要在每次我更新我的应用程序时重新下载(这在目前非常常见)。我已经阅读了这个问题,它指出简单地向index.html添加一个很容易,但我不知道如何告诉他们不要将这些库打包到vendor.js中。通常有一个答案: 您需要安装Bower,这是一
很容易,但我不知道如何告诉他们不要将这些库打包到vendor.js中。通常有一个答案:
您需要安装Bower,这是一个包管理器,它可以使前端依赖项(包括JQuery、Ember和QUnit)保持最新。这与跑步一样简单:
如果您检查bower.json文件,您将找到jquery和所有其他LIB,它们和您的操作都完成了。这是默认情况下使用ember cli得到的: 当环境是生产环境时(例如,
ember build--environment=production
),该插件将通过在js、css、png、jpg和gif资产的文件名末尾附加md5校验和,自动为其添加指纹(例如,资产/yourapp-9C2CBD818D09A742406C6CB8219B3B.js
)。此外,您的html、js和css文件将被重新写入以包含新名称
然后,您可以修改您的Brocfile.js
,告诉它您的cdn的基本url是什么:
prepend
-默认值:'
-在所有资产前面加上一个字符串。对CDN URL有用,如https://subdomain.cloudfront.net/
在
brocfile.js
(更新版本中的ember cli build.js
)中,将构造函数更改为
var app = new EmberApp({
vendorFiles: {
'jquery.js': false,
'handlebars.js': false,
'ember.js': false
}
});
现在,以旧的方式将这些内容包括在index.html中,并享受这样一个事实,即几乎每个用户浏览器都已经缓存了jquery,即使他们以前没有访问过您的网站。我想他指的是类似于此的内容:与CDN相比,指纹有什么优势?@SuperUberDuper fingerprinting为您省去了CDN上缓存文件的麻烦将ember应用程序部署到某些cdb的最佳方式是什么?