Angular2由YSlow实施绩效建议

Angular2由YSlow实施绩效建议,angular,yslow,Angular,Yslow,我经常使用YSlow和google的pagespeed对我的网站进行一些基本的性能检查。 我是Angular2的新手,最近一直在从事Angular2项目,我在Angular2应用程序上运行了YSlow和PageSpeed测试 PageSpeed没有运行,YSlow给出了一些改进建议。根据这些建议,我应该在下面的js文件中添加expiry头- inline.bundle.js styles.bundle.js main.bundle.js vendor.bundle.js 在Angu

我经常使用YSlow和google的pagespeed对我的网站进行一些基本的性能检查。 我是Angular2的新手,最近一直在从事Angular2项目,我在Angular2应用程序上运行了YSlow和PageSpeed测试

PageSpeed没有运行,YSlow给出了一些改进建议。根据这些建议,我应该在下面的js文件中添加expiry头-

inline.bundle.js  
styles.bundle.js  
main.bundle.js  
vendor.bundle.js
在Angular2中,最好/最有效的方法是什么


另外,根据YSlow的另一个建议,我还应该压缩来自服务器的上述资源。当我使用Angular CLI和ng serve构建时,如何在本地计算机中启用压缩?

您关心的是服务器设置,而不是Angular本身。当你发球时,不要这样做。这只会减慢你的发展。我在构建app ng b-prod-aot的生产版本时进行测试,您可以从dist/folder提供服务,在部署之前检查内容

下面是一种不影响CLI的简单方法

npm安装-保存开发快速压缩连接历史api回退

将此express.js添加到项目根目录:

var compression = require('compression');
var express = require('express');
var history = require('connect-history-api-fallback');


var app = express();

app.use(history());
app.use(compression());
app.use(express.static('dist'));

app.listen(4200, function () {
  console.log('\n', 'Serving "dist/" on http://localhost:4200. [Ctrl+C] to disconnect.');
});

并在使用node express.js构建之后运行它,以验证生产版本是否正常工作,并查看压缩的效果。

这不是Angular的工作,您需要配置为这些文件提供服务的内容。这不是ng serve,它纯粹用于开发。请注意,如果您的文件是这样命名的,这意味着您在运行ng build时没有使用-prod选项。这应该是你做的第一件事。它将预编译模板,缩小代码并从包中删除未使用的类,并生成唯一的文件名,从而可以永久缓存。谢谢@JB Nizet。。这是一些有用的建议谢谢你的回复。这回答了有关压缩的问题。你对在js文件中添加到期头有什么看法这应该允许浏览器缓存内容。我没有使用expires标题,因此无法帮助。您必须查找特定服务器的信息。生产捆绑包在文件名中有哈希,所以您可能可以将expires头设置为高值。。。