Skip to content
This repository has been archived by the owner on Apr 30, 2019. It is now read-only.

Commit

Permalink
Use link rel preload
Browse files Browse the repository at this point in the history
  • Loading branch information
akyoto committed Sep 26, 2016
1 parent eec9370 commit ec420f3
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 49 deletions.
90 changes: 46 additions & 44 deletions lib/App/pushResources.js
Original file line number Diff line number Diff line change
@@ -1,46 +1,48 @@
// This module is currently not in use.

module.exports = function(response) {
// if(!response.push)
// return
//
// response.push('/styles.css', {
// method: 'GET',
// status: 200,
// request: {
// 'Accept': 'text/css',
// 'Accept-Encoding': 'br',
// 'If-None-Match': this.compressedStylesHeaders.ETag
// },
// response: this.compressedStylesHeaders
// }, (error, stream) => {
// if(error)
// return console.error(error)
//
// stream.on('error', function(error) {
// console.error(error)
// stream.end()
// })
//
// stream.end(this.compressedStyles)
// })
//
// response.push('/scripts.js', {
// method: 'GET',
// status: 200,
// request: {
// 'Accept': 'application/javascript',
// 'Accept-Encoding': 'br',
// 'If-None-Match': this.compressedScriptsHeaders.ETag
// },
// response: this.compressedScriptsHeaders
// }, (error, stream) => {
// if(error)
// return console.error(error)
//
// stream.on('error', function(error) {
// console.error(error)
// stream.end()
// })
//
// stream.end(this.compressedScripts)
// })
if(!response.push)
return

response.push('/styles.css', {
method: 'GET',
status: 200,
request: {
'Accept': 'text/css',
'Accept-Encoding': 'br',
'If-None-Match': this.compressedStylesHeaders.ETag
},
response: this.compressedStylesHeaders
}, (error, stream) => {
if(error)
return console.error(error)

stream.on('error', function(error) {
console.error(error)
stream.end()
})

stream.end(this.compressedStyles)
})

response.push('/scripts.js', {
method: 'GET',
status: 200,
request: {
'Accept': 'application/javascript',
'Accept-Encoding': 'br',
'If-None-Match': this.compressedScriptsHeaders.ETag
},
response: this.compressedScriptsHeaders
}, (error, stream) => {
if(error)
return console.error(error)

stream.on('error', function(error) {
console.error(error)
stream.end()
})

stream.end(this.compressedScripts)
})
}
10 changes: 5 additions & 5 deletions lib/App/routePage.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ const fastCompressionOptions = {
const mobileMetaTag = '<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, user-scalable=yes">'
const manifestTag = '<link rel="manifest" href="manifest.json">'

const styleTag = '<link rel="stylesheet" href="/styles.css">'
// const styleTag = '<link rel="preload" href="/styles.css" as="style" onload="this.rel=\'stylesheet\'">'
// const styleTag = '<link rel="stylesheet" href="/styles.css">'
const styleTag = '<link rel="preload" href="/styles.css" as="style" onload="this.rel=\'stylesheet\'">'
const scriptTag = '<script src="/scripts.js"></script>'
const styleLoaderPolyfill = '<script>let _rel=document.createElement("link").relList;if(!_rel||!_rel.supports||!_rel.supports("preload")){let l=document.createElement("link");l.href="/styles.css";l.rel="stylesheet";document.head.appendChild(l)}</script>'

Expand Down Expand Up @@ -85,7 +85,7 @@ module.exports = function(page) {

// Generic respond functionality
const respond = (finalCode, response) => {
this.pushResources(response)
// this.pushResources(response)

if(finalCode.length >= gzipThreshold) {
headers['Content-Encoding'] = 'gzip'
Expand Down Expand Up @@ -258,7 +258,7 @@ module.exports = function(page) {
headers.ETag = etag(gzippedCode)

this.get(page.url, (request, response) => {
this.pushResources(response)
// this.pushResources(response)
response.writeHead(200, headers)
response.end(gzippedCode)
})
Expand All @@ -271,7 +271,7 @@ module.exports = function(page) {
headers.ETag = etag(staticPageCode)

this.get(page.url, (request, response) => {
this.pushResources(response)
// this.pushResources(response)
response.writeHead(200, headers)
response.end(staticPageCode)
})
Expand Down

0 comments on commit ec420f3

Please sign in to comment.