我正在尝试运行一个定制的Foxx应用程序。
目录结构:
- test
- myapp ( My custom app )
- manifest.json
- app.js
myapp manifest.json
{
"name": "myapp",
"version": "0.0.1",
"author": "ccraig",
"controllers": {
"/": "app.js"
}
}myapp app.js
(function() {
"use strict";
var Foxx = require("org/arangodb/foxx"),
controller = new Foxx.Controller(applicationContext);
controller.get("/", function(req, res) {
res.set("Content-Type", "text/plain");
res.body = "Hello world";
});
}());命令启动服务器
arangod --javascript.dev-app-path ~/src/js/foxx ~/tmp/arango_db然后,我将浏览器指向:
http://localhost:8529/_db/test/dev/myapp/并收到以下答复:
{"error":true,"code":404,"errorNum":404,"errorMessage":"unknown path 'dev/myapp/index.html'"}我从_system (my_app)下的文档中复制的示例应用程序对我来说很好。
我还可以运行aardvark管理,这就是我如何创建的“测试”数据库。不过,我确实注意到,它的图标上写着“非活动”,而_system则表示“活动”,不确定这是否相关。
另外,在管理员中,"myapp“显示在测试数据库的应用程序列表中。
发布于 2014-08-30 14:04:37
404的原因是,在默认情况下,对应用程序根的调用被重定向到"index.html“。如果"index.html“是应用程序中没有定义的路由,则会引发404。
可以通过将defaultDocument属性添加到manifest.json文件中来修复这个问题,如下所示:
{
"name": "myapp",
"version": "0.0.1",
"author": "ccraig",
"controllers": {
"/": "app.js"
},
"defaultDocument" : ""
}顺便说一下,我在手册中找到了这个:http://docs.arangodb.org/Foxx/HandlingRequest.html
请注意,即使在更改清单文件之后,浏览器也可能缓存了重定向,因此可能会将您路由到index.html。关闭浏览器或清除其缓存可能会修复此问题。
https://stackoverflow.com/questions/25579543
复制相似问题