加载我的ember CLI应用程序当前涉及下载一个3Mb文件,其中大部分都包含常见的库,如jquery,ember,bootstrap等.M3b并不大,但它在慢连接时变得明显,所以我想剥离排除所有公共库,然后从CDN获取它们。我们的想法是,浏览器会缓存它们,因为每次我更新我的应用程序时都不需要重新下载它们(目前很常见)。我已阅读this问题,该问题指出只需向index.html添加<script...>
即可,但我无法弄清楚如何告诉ember不要将这些库打包到供应商中的.js。
答案 0 :(得分:6)
在brocfile.js
(较新版本中为ember-cli-build.js
)中,将构造函数更改为
var app = new EmberApp({
vendorFiles: {
'jquery.js': false,
'handlebars.js': false,
'ember.js': false
}
});
现在以旧时尚方式包含index.html中的那些,并享受几乎每个用户浏览器已经缓存jquery的事实,即使他们之前没有访问过您的网站。
答案 1 :(得分:-1)
docs通常有一个答案:
您需要安装Bower,这是一个程序包管理器,可以使您的前端依赖项(包括JQuery,Ember和QUnit)保持最新。这就像跑步一样简单:
如果你检查你的bower.json文件,你会发现jquery和所有其他的lib,bower uninstall,你就完成了。
答案 2 :(得分:-1)
这是默认使用ember-cli获得的内容。 From the manual:
当环境生产时(例如
ember build --environment=production
),插件将通过在文件名末尾附加md5校验和来自动指纹您的js,css,png,jpg和gif资产(例如{{1 }})。此外,您的html,js和css文件将被重写以包含新名称。
然后,您可以修改assets/yourapp-9c2cbd818d09a4a742406c6cb8219b3b.js
,告诉它您的cdn的基本网址是什么:
等CDN网址
Brocfile.js
- 默认值:prepend
- 一个预先添加到所有资源的字符串。适用于''