Восстановить общедоступный и оставшийся каталоги

как я могу разделить свое приложение node.js на общедоступный каталог, где все файлы html и каталог отдыха, где все остальные службы. Я хотел бы иметь следующий случай. Если пользователь укажет IP-адрес, он увидит html-сайт приложения. Если пользователю нужны какие-то данные, вызовите ipaddress/api/xyz и получите данные json из остальных API.

С моим кодом, если я посмотрю на IP-адрес, я увижу html-файл, но не имею доступа к остальным 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);
});

person abuder    schedule 10.04.2014    source источник
comment
Ваш код выглядит нормально. Вы говорите, что «127.0.0.1:8080/api/cars' не вызывает carServices. найти все автомобили ()? Возможно, в ваших обработчиках есть ошибки? Пожалуйста, предоставьте более подробную информацию о том, что означает отсутствие доступа к остальным API.   -  person cybersam    schedule 11.04.2014
comment
Ох, спасибо. Я публикую проект на github github.com/aBuder/NodeRestify. Я хотел бы иметь следующий случай. Если пользователь обслуживает домен, он увидит файл index.html. Если я серверирую домен/api/cars, я хотел бы видеть данные в формате json.   -  person abuder    schedule 11.04.2014


Ответы (1)


Ваши вызовы server.get() должны указывать путь (не объект) в качестве первого аргумента:

server.get(PATH, carServices.findAllCars);
server.get(PATH + '/:carId', carServices.findCar)
person cybersam    schedule 18.04.2014