Node.js Restify公共目录和rest目录
如何将我的node.js应用程序与公共目录(其中所有html文件和rest目录,其中所有rest服务)分离。我想要下面的箱子。如果用户输入ip地址,他将看到应用程序的html站点。如果用户需要一些数据,可以调用ipaddress/api/xyz并从RESTAPI获取json数据 在我的代码中,如果我查看ipaddress,我会看到html文件,但无法访问restapiNode.js Restify公共目录和rest目录,node.js,restify,Node.js,Restify,如何将我的node.js应用程序与公共目录(其中所有html文件和rest目录,其中所有rest服务)分离。我想要下面的箱子。如果用户输入ip地址,他将看到应用程序的html站点。如果用户需要一些数据,可以调用ipaddress/api/xyz并从RESTAPI获取json数据 在我的代码中,如果我查看ipaddress,我会看到html文件,但无法访问restapi var restify = require('restify'); var carServices = require('./C
var restify = require('restify');
var carServices = require('./CarServices.js')
var ip_address = '127.0.0.1';
var port = '8080';
var server = restify.createServer({
name: 'myapp'
});
server.use(restify.queryParser());
server.use(restify.bodyParser());
server.use(restify.CORS());
var PATH = '/api/cars';
server.get({path : PATH, version: '0.0.1'}, carServices.findAllCars);
server.get({path: PATH + '/:carId', version: '0.0.1'}, carServices.findCar)
server.get(/.*/,restify.serveStatic({
directory: './public',
default: 'index.html'
}));
server.listen(port, ip_address, function(){
console.log('%s listen at %s', server.name, server.url);
});
server.get()调用应将路径(而不是对象)指定为第一个参数:
server.get(PATH, carServices.findAllCars);
server.get(PATH + '/:carId', carServices.findCar)
你的代码看起来不错。您是说“”不调用carServices.findAllCars()?也许你的处理器中有bug?请提供更多关于“无法访问RESTAPI”的详细信息。谢谢。我在github上发布了这个项目,我希望有以下案例。如果用户为域服务,他将看到index.html文件。如果我将域/api/cars作为服务器,我希望将数据视为json。