Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Restify公共目录和rest目录_Node.js_Restify - Fatal编程技术网

Node.js Restify公共目录和rest目录

Node.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

如何将我的node.js应用程序与公共目录(其中所有html文件和rest目录,其中所有rest服务)分离。我想要下面的箱子。如果用户输入ip地址,他将看到应用程序的html站点。如果用户需要一些数据,可以调用ipaddress/api/xyz并从RESTAPI获取json数据

在我的代码中,如果我查看ipaddress,我会看到html文件,但无法访问restapi

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。