Server render the main page
Also, add hashes to asset file names and use the "entry manifest" plugin in dev to get auto-reloading.
This commit is contained in:
57
public/systemjs@2.0.0/dist/extras/global.js
vendored
Normal file
57
public/systemjs@2.0.0/dist/extras/global.js
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* SystemJS global script loading support
|
||||
* Extra for the s.js build only
|
||||
* (Included by default in system.js build)
|
||||
*/
|
||||
(function (global) {
|
||||
|
||||
const systemJSPrototype = System.constructor.prototype;
|
||||
|
||||
function getLastGlobalProp () {
|
||||
// alternatively Object.keys(global).pop()
|
||||
// but this may be faster (pending benchmarks)
|
||||
let lastProp;
|
||||
for (let p in global)
|
||||
if (global.hasOwnProperty(p))
|
||||
lastProp = p;
|
||||
return lastProp;
|
||||
}
|
||||
|
||||
let lastGlobalProp;
|
||||
const impt = systemJSPrototype.import;
|
||||
systemJSPrototype.import = function (id, parentUrl) {
|
||||
lastGlobalProp = getLastGlobalProp();
|
||||
return impt.call(this, id, parentUrl);
|
||||
};
|
||||
|
||||
const emptyInstantiation = [[], function () { return {} }];
|
||||
|
||||
const getRegister = systemJSPrototype.getRegister;
|
||||
systemJSPrototype.getRegister = function () {
|
||||
const lastRegister = getRegister.call(this);
|
||||
if (lastRegister)
|
||||
return lastRegister;
|
||||
|
||||
// no registration -> attempt a global detection as difference from snapshot
|
||||
// when multiple globals, we take the global value to be the last defined new global object property
|
||||
// for performance, this will not support multi-version / global collisions as previous SystemJS versions did
|
||||
// note in Edge, deleting and re-adding a global does not change its ordering
|
||||
const globalProp = getLastGlobalProp();
|
||||
if (lastGlobalProp === globalProp)
|
||||
return emptyInstantiation;
|
||||
|
||||
lastGlobalProp = globalProp;
|
||||
let globalExport;
|
||||
try {
|
||||
globalExport = global[globalProp];
|
||||
}
|
||||
catch (e) {
|
||||
return emptyInstantiation;
|
||||
}
|
||||
|
||||
return [[], function (_export) {
|
||||
return { execute: function () { _export('default', globalExport) } };
|
||||
}];
|
||||
};
|
||||
|
||||
})(typeof self !== 'undefined' ? self : global);
|
Reference in New Issue
Block a user