javascript-关于Web应用程序端口的困惑
作者:互联网
我有一个已经深入开发的项目,并且端口有问题.
客户端是用主干编写的SPA,它使用Sails作为服务器.
问题在于,客户端在Express的端口80上运行,而Sails在1337上运行.
我想在Sails中托管此主干应用程序,而不是在Sails中托管.
更多细节:
当我解雇Fiddler时,我看到正在向localhost:1337 / get / user发出请求.
我还需要它驻留在端口80上.
骨干网使用标准编写.我的app.js和main.js带有所有常用文件夹(JS,LIBS,CSS).换句话说,我有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的组合即可,它们将挂载到根目录/中,用于默认新创建的Sails项目.
2.设置全面路线
在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端口或任何其他端口,这将是一个更好的主意.
标签:javascript,node-js,backbone-js,sails-js 来源: https://codeday.me/bug/20191013/1907788.html