关于networking应用程序端口的困惑
我有一个已经深入开发的项目,并且有一个端口的问题。
客户是使用Sails作为服务器的骨干networking。
问题在于客户端在80端口上运行Express,而Sails在1337上运行。
我想在Sails中主持这个骨干应用程序,而不是帆船的外部。 更多的细节:当我发射提琴手时,我看到对localhost:1337 / get / user的请求。 我需要它也驻留在80端口。
骨干是使用标准编写的。 我有所有的常见文件夹(JS,LIBS,CSS)的app.js和main.js。 换句话说,我有index.html数据主要使用require.js …
我没有问题在单独的node.js中运行客户端…如何在Sails.js中运行它?
我在哪里把我的index.html?
尝试将index.html
作为静态文件提供服务将不起作用。 相反,请尝试以下操作:
1.从Sails提供你的index.html
只需将index.html
作为views/layout.ejs
和views/home/index.ejs
,将其挂载到根目录/
用于默认新创build的Sails项目。
2.build立一个全面的路线
在config/routes.js
放入这样的东西:
module.exports.routes = { '/': { view: 'home/index' }, '/:unknownRoute': { view: 'home/index' } }
这样,你就可以在你的SPA中使用简单的一级pushstate路由:像/products
或/news
这样的路由仍然会给你你的index.html
(如果你使用的是更复杂的东西,想用Sails航线玩一点点)。
3.用前缀为您的API提供服务
在你的config/controllers.js
,例如:
module.exports.controllers = { ... prefix: '/api', ... }
这将使您可以使用前缀来提供API,并提供/api/products
(JSON API)和/products
(您的SPA)路线。
4.使用任何你想要的端口
您可以通过config/local.js
更改默认端口,甚至可以更改为80
(当然,如果您还没有其他任何东西在80
运行)。
在生产中,例如,用Nginx代理默认的Sails或任何其他的端口可能是一个更好的主意。
- node.js sails.js自定义创build初学者
- backbone.js和express:遇到一个查询string按字段search一个mongodb集合的麻烦
- 骨干model.save()不使用body parser设置express服务器的响应主体
- AJAX图像上传与backbone.js node.js和express
- Backbone Marionette和Webpack – Uncaught TypeError:无法读取未定义的属性'radio'
- 是否有专门为Node.js开发实践工作的客户端框架?
- 在Jspm中使用非npm(legacy)javascript库
- Backbone.js和与服务器的通信(检索改进的数据集)
- 检测任何不需要的属性的Backbone模型validation