编程语言
首页 > 编程语言> > javascript-关于Web应用程序端口的困惑

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