Node.js、Express&Ghost子目录URL解析错误
Node.js, Express & Ghost Subdirectory URL parsing error
欢迎回答另一个关于在站点的子目录上提供Ghost的问题!
我已经根据许多线程的详细信息(仍然没有文档…)和这个Github配置文件的详细信息设置了一个代理服务器(https://github.com/owenscott/hapi-ghost-proxy-example/blob/master/config.js)。
我可以提供根页面,但不能让Ghost显示在子目录路由上。我对以下错误(当你导航到url时显示在浏览器中)中到底发生了什么感到困惑:
TypeError: Parameter 'url' must be a string, not undefined
at Url.parse (url.js:107:11)
at Object.urlParse [as parse] (url.js:101:5)
at Object.common.setupOutgoing (C:'dev'projects'warpspeed'node_modules'http-proxy'lib'http-proxy'common.js:71:11)
at Array.stream [as 3] (C:'dev'projects'warpspeed'node_modules'http-proxy'lib'http-proxy'passes'web-incoming.js:109:14)
at ProxyServer.<anonymous> (C:'dev'projects'warpspeed'node_modules'http-proxy'lib'http-proxy'index.js:80:21)
at ghost.config (C:'dev'projects'warpspeed'server.js:23:8)
at Layer.handle [as handle_request] (C:'dev'projects'warpspeed'node_modules'express'lib'router'layer.js:76:5)
at next (C:'dev'projects'warpspeed'node_modules'express'lib'router'route.js:100:13)
at Route.dispatch (C:'dev'projects'warpspeed'node_modules'express'lib'router'route.js:81:3)
at Layer.handle [as handle_request] (C:'dev'projects'warpspeed'node_modules'express'lib'router'layer.js:76:5)
我猜这与通过ghost进行路由有关,如我的server.js文件(如下)中所述。
var express = require('express');
var ghost = require('ghost');
var httpProxy = require('http-proxy');
var path = require('path');
var app = express();
var proxy = new httpProxy.createProxyServer();
//routes
app.get('/', function(req, res){
res.send('Coming soon...')
});
//ghost routes
app.get('/nowhammystop', function(req, res, next){
proxy.web(res, req, {
target: 'http://localhost:22889'
});
});
//start Ghost
ghost({
config: path.join(__dirname, 'node_modules/ghost/config.js')
});
var server = app.listen(12942);
有什么想法吗?
我不确定最近是否发生了变化,但现在正确的方法是:
var ghost = require('ghost'),
express = require('express'),
parentApp = express();
ghost().then(function (ghostServer) {
parentApp.use(ghostServer.config.paths.subdir, ghostServer.rootApp);
ghostServer.start(parentApp);
});
查看此以了解更多信息。
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 使用php或javascript从facebook相册URL中删除多余的部分
- Angular JS IE9 Hashbang url rewriting
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- 直接下载文件,而不是从window.open(url)
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 通过js在新选项卡中有条件地打开url
- CKFinder 3为所选文件返回错误的URL
- 如何获取不属于我项目的上一页的URL
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 在URL中传递JS对象
- 将纯文本URL转换为可单击链接
- Javascript html每点击一次就会更改url
- 以角度管理动态URL
- Mathias URL shortener
- 获取当前URL并修改子目录,然后使用Javascript转到URL
- 用Javascript Regex替换url中的子目录
- Node.js、Express&Ghost子目录URL解析错误
- 如何解决ASP.使用子目录时,NET相对url问题
- 我如何获得一个随机文件's url(从目录&子目录),将其返回为id's href