diff --git a/lib/App.server.js b/lib/App.server.js index 8143bbfc8..ef620597e 100644 --- a/lib/App.server.js +++ b/lib/App.server.js @@ -188,9 +188,17 @@ App.prototype.serialize = function() { // is for use on the server var viewsSource = this._viewsSource({server: true, minify: true}); fs.writeFileSync(this.serializedBase + '.views.js', viewsSource, 'utf8'); + var scriptUrl = (this.scriptUrl.indexOf(this.scriptBaseUrl) === 0) ? + this.scriptUrl.slice(this.scriptBaseUrl.length) : + this.scriptUrl; + var scriptMapUrl = (this.scriptMapUrl.indexOf(this.scriptMapBaseUrl) === 0) ? + this.scriptMapUrl.slice(this.scriptMapBaseUrl.length) : + this.scriptMapUrl; var serialized = JSON.stringify({ - scriptUrl: this.scriptUrl - , scriptMapUrl: this.scriptMapUrl + scriptBaseUrl: this.scriptBaseUrl + , scriptMapBaseUrl: this.scriptMapBaseUrl + , scriptUrl: scriptUrl + , scriptMapUrl: scriptMapUrl }); fs.writeFileSync(this.serializedBase + '.json', serialized, 'utf8'); }; @@ -199,8 +207,8 @@ App.prototype.deserialize = function() { var serializedViews = require(this.serializedBase + '.views.js'); var serialized = require(this.serializedBase + '.json'); serializedViews(derbyTemplates, this.views); - this.scriptUrl = serialized.scriptUrl; - this.scriptMapUrl = serialized.scriptMapUrl; + this.scriptUrl = (this.scriptBaseUrl || serialized.scriptBaseUrl) + serialized.scriptUrl; + this.scriptMapUrl = (this.scriptMapBaseUrl || serialized.scriptMapBaseUrl) + serialized.scriptMapUrl; }; App.prototype.loadViews = function(filename, namespace) {