我如何使用公共目录拆分我的node.js应用程序,其中所有html文件都是一个休息目录,其中所有其他服务。我想有以下案例。如果用户查看了ip地址,他会看到app的html网站。如果用户需要一些数据,则调用ipaddress / api / xyz并从rest api获取json数据。
使用我的代码,如果我查看ipaddress,我会看到html文件,但无法访问rest api。
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);
});
答案 0 :(得分:0)
您的server.get()调用应指定路径(不是对象)作为第一个参数:
server.get(PATH, carServices.findAllCars);
server.get(PATH + '/:carId', carServices.findCar)