![](/img/trans.png)
[英]Building a Single Page Application with AngularJS and Sitecore (SPA)
[英]How does PageSpeed Service/Library helps a Single Page Application (SPA)?
這是我學過並嘗試過的一些東西:
1)您是否有興趣更改SPA應用程序?
沒有:
PageSpeed服務可以為SPA做什么樣的優化? 您必須閱讀文檔。
您應該使用哪種PageSpeed過濾器? 從默認值開始。 對整個應用程序進行黑盒測試。 然后開始調整設置。 衡量性能提升,這樣您就可以知道優化收益迅速減少的情況。
是:
查看Chrome的PageSpeed擴展程序。 遵循建議將有很大幫助。
您可以使用grunt或gulp等構建工具將應用程序的代碼轉換為優化的代碼。 這是一個很大的話題,但這是帶有Gulp的AngularJS的示例:
// Make sources. Uglify, Concat, and add hash if necessary
// Determine output file. Only used if config.concat === true
var destJs = 'app' + (config.minify?'.min':'') + '.js';
var appJs = gulp.src(config.app.js)
.pipe(plugins.plumber())
.pipe(plugins.ngAnnotate())
.pipe(plugins.angularFilesort())
.pipe(plugins.if(config.minify, plugins.uglify()))
.pipe(plugins.if(config.concat, plugins.concat(destJs)))
.pipe(plugins.if(config.hash, plugins.hash()))
.pipe(gulp.dest(config.app.dest + '/js'))
這段代碼:
在下面,我使用此代碼將它們注入到我的index.html中。 查看上面定義appJs並在下面使用的地方:
// Inject all these files into index.html
return gulp.src(config.app.index)
.pipe(plugins.plumber())
.pipe(plugins.inject(vendorJs, _.merge({name: 'vendor'}, config.app.injectOptions)))
.pipe(plugins.inject(vendorCss, _.merge({name: 'vendor'}, config.app.injectOptions)))
.pipe(plugins.inject(appJs, _.merge({name: 'app'}, config.app.injectOptions)))
.pipe(plugins.inject(appCss, _.merge({name: 'app'}, config.app.injectOptions)))
.pipe(plugins.inject(templates, _.merge({name: 'templates'}, config.app.injectOptions)))
.pipe(plugins.replace('REPLACE_NODE_ENV', config.NODE_ENV))
.pipe(gulp.dest(config.app.dest))
這使得可配置的構建腳本可以生成高性能的應用程序。 PageSpeed只抱怨我正在加載多少js,但這是使用AngularJS的一部分。
[在使用PageSpeed服務的情況下](對我的Web服務的)AJAX請求如何與同源策略一起使用?
PageSpeed服務不接受新用戶。 您的網絡服務器上有一個插件。 因此,它應該工作相同。 否則,您可能需要啟用CORS 。
[如果使用PageSpeed服務]我的網絡服務是否也應該在同一Google的pagespeed服務器中運行?
我不知道:-)您必須檢查服務說明。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.