Gzipped assets
This commit is contained in:
parent
92c316e9ea
commit
5110029f3a
@ -4,6 +4,7 @@ var minifyHTML = require('gulp-minify-html');
|
|||||||
var minifyCSS = require('gulp-minify-css');
|
var minifyCSS = require('gulp-minify-css');
|
||||||
var autoprefixer = require('gulp-autoprefixer');
|
var autoprefixer = require('gulp-autoprefixer');
|
||||||
var uglify = require('gulp-uglify');
|
var uglify = require('gulp-uglify');
|
||||||
|
var gzip = require('gulp-gzip');
|
||||||
var browserify = require('browserify');
|
var browserify = require('browserify');
|
||||||
var source = require('vinyl-source-stream');
|
var source = require('vinyl-source-stream');
|
||||||
var streamify = require('gulp-streamify');
|
var streamify = require('gulp-streamify');
|
||||||
@ -69,10 +70,23 @@ function js(watch) {
|
|||||||
return rebundle();
|
return rebundle();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gulp.task('gzip', ['html', 'css', 'js'], function() {
|
||||||
|
gulp.src('./dist/*.{html,css,js}')
|
||||||
|
.pipe(gzip())
|
||||||
|
.pipe(gulp.dest('./dist'));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('gzip:watch', function() {
|
||||||
|
gulp.src('./dist/*.{html,css,js}')
|
||||||
|
.pipe(gzip())
|
||||||
|
.pipe(gulp.dest('./dist'));
|
||||||
|
});
|
||||||
|
|
||||||
gulp.task('watch', ['default'], function() {
|
gulp.task('watch', ['default'], function() {
|
||||||
|
gulp.watch('./dist/*.{html,css,js}', ['gzip:watch'])
|
||||||
gulp.watch('./src/*.html', ['html']);
|
gulp.watch('./src/*.html', ['html']);
|
||||||
gulp.watch('./src/*.css', ['css']);
|
gulp.watch('./src/*.css', ['css']);
|
||||||
return js(true);
|
return js(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('default', ['html', 'css', 'js']);
|
gulp.task('default', ['html', 'css', 'js', 'gzip']);
|
@ -16,12 +16,14 @@
|
|||||||
"watchify": "~2.2.1",
|
"watchify": "~2.2.1",
|
||||||
"browserify": "~8.0.3",
|
"browserify": "~8.0.3",
|
||||||
"gulp-autoprefixer": "~2.0.0",
|
"gulp-autoprefixer": "~2.0.0",
|
||||||
"reactify": "~0.17.1"
|
"reactify": "~0.17.1",
|
||||||
|
"gulp-gzip": "0.0.8"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"lodash": "3.0.0",
|
"lodash": "3.0.0",
|
||||||
"reflux": "0.2.4",
|
"reflux": "0.2.4",
|
||||||
"react-router": "~0.11.6",
|
"react-router": "~0.11.6",
|
||||||
"react": "~0.12.2"
|
"react": "~0.12.2",
|
||||||
|
"react-infinite": "~0.2.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,21 +10,12 @@ var App = require('./components/App.jsx');
|
|||||||
var Connect = require('./components/Connect.jsx');
|
var Connect = require('./components/Connect.jsx');
|
||||||
var Chat = require('./components/Chat.jsx');
|
var Chat = require('./components/Chat.jsx');
|
||||||
var Settings = require('./components/Settings.jsx');
|
var Settings = require('./components/Settings.jsx');
|
||||||
var tabActions = require('./actions/tab');
|
|
||||||
var serverActions = require('./actions/server');
|
|
||||||
var channelActions = require('./actions/channel');
|
|
||||||
|
|
||||||
var uuid = localStorage.uuid || (localStorage.uuid = util.UUID());
|
var uuid = localStorage.uuid || (localStorage.uuid = util.UUID());
|
||||||
var nick = 'test' + Math.floor(Math.random() * 99999);
|
var nick = 'test' + Math.floor(Math.random() * 99999);
|
||||||
|
|
||||||
socket.on('connect', function() {
|
socket.on('connect', function() {
|
||||||
socket.send('uuid', uuid);
|
socket.send('uuid', uuid);
|
||||||
|
|
||||||
/*serverActions.connect('irc.freenode.net', nick, 'username', true, 'Freenode');
|
|
||||||
serverActions.connect('irc.quakenet.org', nick, 'username', false, 'QuakeNet');
|
|
||||||
|
|
||||||
channelActions.join(['#stuff'], 'irc.freenode.net');
|
|
||||||
channelActions.join(['#herp'], 'irc.quakenet.org');*/
|
|
||||||
});
|
});
|
||||||
|
|
||||||
socket.on('error', function(error) {
|
socket.on('error', function(error) {
|
||||||
|
@ -17,7 +17,7 @@ var serverStore = Reflux.createStore({
|
|||||||
server = server.slice(0, i);
|
server = server.slice(0, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
servers[server] = {
|
servers[server] = {
|
||||||
address: server,
|
address: server,
|
||||||
nick: nick,
|
nick: nick,
|
||||||
username: username,
|
username: username,
|
||||||
|
16
main.go
16
main.go
@ -20,12 +20,22 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func serveFiles(w http.ResponseWriter, r *http.Request) {
|
func serveFiles(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var ext string
|
||||||
|
|
||||||
|
if strings.Contains(r.Header.Get("Accept-Encoding"), "gzip") {
|
||||||
|
w.Header().Set("Content-Encoding", "gzip")
|
||||||
|
ext = ".gz"
|
||||||
|
}
|
||||||
|
|
||||||
if strings.HasSuffix(r.URL.Path, "bundle.js") {
|
if strings.HasSuffix(r.URL.Path, "bundle.js") {
|
||||||
r.URL.Path = "/bundle.js"
|
w.Header().Set("Content-Type", "text/javascript")
|
||||||
|
r.URL.Path = "/bundle.js" + ext
|
||||||
} else if strings.HasSuffix(r.URL.Path, "style.css") {
|
} else if strings.HasSuffix(r.URL.Path, "style.css") {
|
||||||
r.URL.Path = "/style.css"
|
w.Header().Set("Content-Type", "text/css")
|
||||||
|
r.URL.Path = "/style.css" + ext
|
||||||
} else {
|
} else {
|
||||||
r.URL.Path = "/"
|
w.Header().Set("Content-Type", "text/html")
|
||||||
|
r.URL.Path = "/index.html" + ext
|
||||||
}
|
}
|
||||||
|
|
||||||
fs.ServeHTTP(w, r)
|
fs.ServeHTTP(w, r)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user