标签:javascript node-js backbone-js sails-js
我有一个已经深入开发的项目,并且端口有问题.
客户端是用主干编写的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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。