Linted code and added basic tests.
This commit is contained in:
parent
e5e2dfc56f
commit
0fd0f026ec
9 changed files with 219 additions and 107 deletions
|
|
@ -6,7 +6,7 @@ var fs = require('fs');
|
|||
var minify = require('minify');
|
||||
var fetch = require('fetch');
|
||||
var cors = require('cors');
|
||||
var morgan = require('morgan')
|
||||
var morgan = require('morgan');
|
||||
|
||||
// example options;
|
||||
var serverUrl = 'http://localhost:8080';
|
||||
|
|
@ -17,19 +17,21 @@ var clientResources = {
|
|||
js: [],
|
||||
css: [],
|
||||
cssData: []
|
||||
}
|
||||
};
|
||||
|
||||
var addClientResource = function(clientResource, resourceType) {
|
||||
clientResources[resourceType].push(clientResource);
|
||||
}
|
||||
};
|
||||
|
||||
var stringHash = function (str) {
|
||||
/* jslint bitwise: true */
|
||||
var hash = 31; // prime
|
||||
for (var i = 0; i < str.length; i++) {
|
||||
hash = ((hash<<5)-hash)+str.charCodeAt(i);
|
||||
hash = hash & hash; // keep 32b
|
||||
}
|
||||
return hash;
|
||||
/* jslint bitwise: false */
|
||||
};
|
||||
|
||||
var fetchHashResource = function(fetchEntry,cb) {
|
||||
|
|
@ -60,17 +62,17 @@ var fetchHashResources = function(fetchList, cb) {
|
|||
|
||||
var createClientResourceFetchList = function() {
|
||||
var fetchList = [];
|
||||
for (var clientResourceIdx in clientResources.js) {
|
||||
var url = clientResources.js[clientResourceIdx];
|
||||
fetchList.push({url:url,type:'js'});
|
||||
for (var clientResourceIdxJs in clientResources.js) {
|
||||
var urlJs = clientResources.js[clientResourceIdxJs];
|
||||
fetchList.push({url:urlJs,type:'js'});
|
||||
}
|
||||
for (var clientResourceIdx in clientResources.css) {
|
||||
var url = clientResources.css[clientResourceIdx];
|
||||
fetchList.push({url:url,type:'css'});
|
||||
for (var clientResourceIdxCss in clientResources.css) {
|
||||
var urlCss = clientResources.css[clientResourceIdxCss];
|
||||
fetchList.push({url:urlCss,type:'css'});
|
||||
}
|
||||
for (var clientResourceIdx in clientResources.cssData) {
|
||||
var url = clientResources.cssData[clientResourceIdx];
|
||||
fetchList.push({url:url,type:'cssData'});
|
||||
for (var clientResourceIdxCssData in clientResources.cssData) {
|
||||
var urlCssData = clientResources.cssData[clientResourceIdxCssData];
|
||||
fetchList.push({url:urlCssData,type:'cssData'});
|
||||
}
|
||||
return fetchList;
|
||||
};
|
||||
|
|
@ -86,7 +88,7 @@ function renderTemplatePath(viewPath) {
|
|||
};
|
||||
}
|
||||
|
||||
function renderIndex(server) {
|
||||
function renderIndex() {
|
||||
var inline = '';
|
||||
minify(__dirname+'/../es5-ff-spa-loader.js', {}, function(err, data) {
|
||||
inline = '\n\t\t<script>'+data+'</script>';
|
||||
|
|
@ -113,7 +115,7 @@ addClientResource('/static/js/controller/page-foo.js','js');
|
|||
addClientResource('/static/js/controller/page-index.js','js');
|
||||
|
||||
var server = express();
|
||||
server.use(morgan('dev'))
|
||||
server.use(morgan('dev'));
|
||||
server.use(cors({credentials: true, origin: '*'}));
|
||||
server.set('view engine', 'ejs');
|
||||
server.set('views', path.join(__dirname,'www_views'));
|
||||
|
|
@ -133,8 +135,7 @@ server.get('/static/spa-client-resources', function (req,res) {
|
|||
|
||||
server.get('/', function (req, res) {res.redirect('/example-ui');});
|
||||
server.get('/example-ui/thtml/*', renderTemplatePath('thtml/'));
|
||||
server.get('/example-ui', renderIndex(server));
|
||||
server.get('/example-ui/*', renderIndex(server)); // must be last; for HTML5 history
|
||||
server.get('/example-ui', renderIndex());
|
||||
console.info('Server config done.');
|
||||
|
||||
server.listen(8080);
|
||||
|
|
@ -142,7 +143,7 @@ console.info('Server started on port 8080');
|
|||
|
||||
var res = createClientResourceFetchList();
|
||||
fetchHashResources(res, function(err) {
|
||||
if (err !== null) {console.log(err);};
|
||||
if (err !== null) {console.log(err);}
|
||||
console.log('Total assets build: '+clientResourcesWeb.length);
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue