我写了一个最小的测试页来试用Aurelia。
http://www.andrewgolightly.com/
GitHub:https://github.com/magician11/ag-landingpage
我的上一次测试表明,用135次请求加载页面需要55秒。
似乎我需要首先捆绑jspm_packages目录,以便立即下载543KB ..而不是碎片。
所以我给出了这个例子:http://aurelia.io/get-started.html
如何捆绑包裹?从https://github.com/jspm/jspm-cli/wiki/Production-Workflows
我不清楚然后我在index.html文件中更新了什么?我仍然需要包含jspm_packages文件夹,因为我在头部引用它,对吗?
<link rel="stylesheet" href="jspm_packages/github/twbs/bootstrap@3.3.2/css/bootstrap.min.css">
<link rel="stylesheet" href="jspm_packages/npm/font-awesome@4.3.0/css/font-awesome.min.css">
感谢。
更新
该团队正致力于捆绑..
来自Rob Eisenberg:“我们尚未完成捆绑支持。我们正在努力。”答案 0 :(得分:14)
这个问题早在非常发布,但我们现在有一个适用于jspm和system.js加载程序的策略用于捆绑。需要注意的是,由于请求数量很多(并且您可能没有启用gzip),资源加载需要一段时间才会导致框架速度变慢)
我已经从我关于这个主题的博文中复制了这个 - http://patrickwalters.net/my-best-practices-for-aurelia-bundling-and-minification/
了解使用jspm bundle命令让我们的模块加载器system.js知道加载包
理解这只涵盖JavaScript文件(暂时)
skeleton-navigation
文件夹。 运行此命令 -
jspm bundle '*' + aurelia-skeleton-navigation/* + aurelia-bootstrapper + aurelia-http-client + aurelia-dependency-injection + aurelia-router dist/app-bundle.js --inject --minify
// Create a bundle
jspm bundle
// Bundle all of these paths
// from my config.js
'*' +
aurelia-skeleton-navigation/* +
aurelia-bootstrapper +
aurelia-http-client +
aurelia-dependency-injection +
aurelia-router
// Create the bundle here
// with this name
dist/app-bundle.js
// These modifiers tell the bundle
// to both minify and then inject
// the bundle
--inject
--minify
baseUrl
设置jspm unbundle
--inject
修饰符系统。我们应该选择我们的捆绑包并在不更改index.html中的脚本路径的情况下提供它。+ {filename}
答案 1 :(得分:9)
可以使用npm install --save-dev aurelia-bundler
通过npm安装捆绑aurelia应用程序的官方工具包。
安装完成后,您可以设置gulp任务来处理bundle / unbundle进程。任务的基本示例如下所示:
<强>建立/任务/ bundle.js 强>
var gulp = require('gulp');
var bundler = require('aurelia-bundler');
var config = {
bundles: {
'dist/app-build': {
includes: [
'**/*.js'
],
options: {
minify: true
}
}
}
};
gulp.task('bundle', ['build', 'unbundle'], function() {
return bundler.bundle(config);
});
gulp.task('unbundle', function() {
return bundler.unbundle(config);
});
我在这里写了一篇更深入的文章:http://www.foursails.co/blog/aurelia-bundling/
官方文档可在此处找到:https://github.com/aurelia/bundler
答案 2 :(得分:4)
有一个GitHub存储库,其中包含Aurelia AMD目标构建的r.js捆绑策略,以及在Visual Studio中使用TypeScript使用捆绑包的示例项目(包括aurelia.d.ts TypeScript类型定义文件)
使用此策略可以大大减少加载时间,因为它将加载一个文件而不是多个文件。