diff --git a/config/SimpleRenderer.js b/config/SimpleRenderer.js index 26aa6e4..3d94708 100644 --- a/config/SimpleRenderer.js +++ b/config/SimpleRenderer.js @@ -1,13 +1,18 @@ var fs = require("fs"); var path = require("path"); var html = fs.readFileSync(path.resolve(__dirname, "../app/simple.html"), "utf-8"); +var URL = require("url"); function SimpleRenderer(options) { - this.html = html.replace("SCRIPT_URL", options.scriptUrl); + this.options = options; + this.html = html; } -SimpleRenderer.prototype.render = function(_path, _readItems, callback) { - callback(null, this.html); +SimpleRenderer.prototype.render = function(req, _readItems, callback) { + urlObj = URL.parse(this.options.scriptUrl); + urlObj.host = null; + urlObj.hostname = req.hostname; + callback(null, this.html.replace("SCRIPT_URL", URL.format(urlObj))); }; -module.exports = SimpleRenderer; +module.exports = SimpleRenderer; \ No newline at end of file diff --git a/config/mainPrerenderer.jsx b/config/mainPrerenderer.jsx index ecfa166..c6663ef 100644 --- a/config/mainPrerenderer.jsx +++ b/config/mainPrerenderer.jsx @@ -13,9 +13,9 @@ export default class MainRenderer { .replace("COMMONS_URL", options.commonsUrl); } - render(path, readItems, callback) { + render(req, readItems, callback) { var stores = createStoresForPrerender(storesDescriptions, readItems); - this.prerenderer.getContent(path, stores, (err, content, data) => { + this.prerenderer.getContent(req.path, stores, (err, content, data) => { if(err) return callback(err); var page = this.html .replace("DATA", JSON.stringify(data)) @@ -23,4 +23,4 @@ export default class MainRenderer { callback(null, page); }); } -} +} \ No newline at end of file diff --git a/lib/server.js b/lib/server.js index 4b7e65e..b5fd2bf 100644 --- a/lib/server.js +++ b/lib/server.js @@ -50,7 +50,7 @@ module.exports = function(options) { // application app.get("/*", function(req, res) { renderer.render( - req.path, + req, createPrerenderApi(req), function(err, html) { if(err) { @@ -70,4 +70,4 @@ module.exports = function(options) { app.listen(port, function() { console.log("Server listening on port " + port); }); -}; +}; \ No newline at end of file diff --git a/package.json b/package.json index 6ac3bee..02a4a9a 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,8 @@ "main": "app/app.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", - "dev-server": "webpack-dev-server --config webpack-dev-server.config.js --progress --colors --port 2992 --inline", - "hot-dev-server": "webpack-dev-server --config webpack-hot-dev-server.config.js --hot --progress --colors --port 2992 --inline", + "dev-server": "webpack-dev-server --host 0.0.0.0 --config webpack-dev-server.config.js --progress --colors --port 2992 --inline", + "hot-dev-server": "webpack-dev-server --host 0.0.0.0 --config webpack-hot-dev-server.config.js --hot --progress --colors --port 2992 --inline", "build": "webpack --config webpack-production.config.js --progress --profile --colors", "start-dev": "node lib/server-development", "start": "node lib/server-production" @@ -45,11 +45,11 @@ "url-loader": "^0.5.5", "uuid": "^2.0.1", "webpack": "^1.8.5", - "webpack-dev-server": "^1.4.7" + "webpack-dev-server": "^1.11.0" }, "devDependencies": { "babel-eslint": "^3.0.1", "eslint": "^0.22.0", "eslint-plugin-react": "^2.2.0" } -} +} \ No newline at end of file