Express 应用程序 - 更改基本 url

2024-02-26

我正在构建一个问答应用程序本教程 http://engineering.paiza.io/entry/2016/03/10/115345一切顺利,但我需要更改更改通过配置文件提供应用程序的基本根的机会。

现在,该应用程序在 localhost:8080 中提供服务,而我需要通过 localhost:8080/qae 提供服务(例如)。

我认为答案就在这段代码附近:

// Setup server
var app = express();
var server = http.createServer(app);
var socketio = require('socket.io')(server, {
  serveClient: config.env !== 'production',
  path: '/socket.io-client'
});
require('./config/socketio')(socketio);
require('./config/express')(app);
require('./routes')(app);


// Start server
function startServer() {
  app.angularFullstack = server.listen(config.port, config.ip, function() {
    console.log('Express server listening on %d, in %s mode '+config.ip, config.port, app.get('env'));
  });
}

setImmediate(startServer);

(来自/server/app.js)

但我想不通。是否可以通过简单的方式做到这一点?

////////编辑////////

我尝试了所有建议的解决方案,但我做错了一些事情并出现了错误。这是我的routes.js,以防有帮助:

/**
 * Main application routes
 */

'use strict';

import errors from './components/errors';
import path from 'path';

export default function(app) {
  // Insert routes below
  app.use('/api/cpd', require('./api/cpd'));
  app.use('/api/categories', require('./api/category'));
  app.use('/api/terms', require('./api/term'));
  app.use('/api/qae', require('./api/qae'));
  app.use('/api/stats', require('./api/stat'));
  app.use('/api/tags', require('./api/tag'));
  app.use('/api/questions', require('./api/question'));
  app.use('/api/things', require('./api/thing'));
  app.use('/api/users', require('./api/user'));

  app.use('/auth', require('./auth'));

  app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    next();
  });


  // All undefined asset or api routes should return a 404
  app.route('/:url(api|auth|components|app|bower_components|assets)/*')
   .get(errors[404]);

  // All other routes should redirect to the index.html
  app.route('/*')
    .get((req, res) => {
      res.sendFile(path.resolve(app.get('appPath') + '/index.html'));
    });
}

您可以执行以下操作:

var app = express();
var routes = require('./routes/index');   
app.set('base', '/qae');

那么你需要添加路线

app.use('/qae', routes);

希望这可以帮助 :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Express 应用程序 - 更改基本 url 的相关文章

  • 如何在网络服务器中的端口 80 而不是端口 5000 上运行“部署”。

    我正在使用 deployd 运行一个网站 并且在将在端口 5000 上运行的应用程序更改为端口 80 时遇到问题 我想要做的是不要使用 mydomain com 5000 而只想使用 mydomain com 5000 com 谢谢 根据内
  • antlr4-tool 在 Win10 中失败,并显示:错误:命令失败:哪个 java

    在Win10中运行 为了尝试在Node JS中创建解析器 我安装了ANTLR4工具 npm install save dev antlr4 tool Ran c prj parser node modules bin antlr4 tool
  • 将 XML 传递给节点中的存储过程

    我试图弄清楚如何使用以下方法将 XML 值传递给存储过程MSSQL https www npmjs com package mssql节点驱动程序 从文档中我可以看到该驱动程序确实支持存储过程 并且您还可以定义自定义数据类型 如下所示 sq
  • [node][mocha]使用 mocha 测试时无法访问全局变量

    我正在尝试为快速节点应用程序创建单元测试 我希望用于测试的配置与生产中使用的配置不同 因此我实现了以下内容 In my index js 我将配置加载到全局变量中 如下所示 global env global env config requ
  • 无法在 yeoman Angular 生成的 Web 应用程序中生成“dist”文件夹

    我无法生成dist使用 yeoman 角度生成器构建和生成的 Web 应用程序中的文件夹 我正在粘贴 grunt 构建的详细内容 请检查这是否有帮助 pdc1 f3t18r1 ShippingSolution administrator g
  • Node.js console.log - 是否可以更新一行而不是创建新行?

    My node js应用程序有很多控制台日志 这对我来说很重要 这是一个相当大的应用程序 因此运行很长时间 我需要知道事情仍在进展 但我最终得到了数千行控制台日志 是否有可能做一个console update删除 替换控制台行而不是创建新行
  • 获取当前范围内所有定义的变量

    我正在解析一个包含以下内容的网站 hmapId 7 42500000000626135 hmapStartInterv 7 750 hmapEndInterv 7 846 hmapUrlInterv 7 some url hmapNameI
  • model.save() 返回无效输出

    我正在使用本文中的 Node js mongodb 和express 对 REST Api 进行简单测试 MERN 第一部分 使用 Node js 和 Express 构建 RESTful API https medium com week
  • Express 4.x 在 2 分钟后关闭连接

    我有一个简单的节点应用程序来处理GET foo 此请求需要一些时间来计算并返回文件 每次请求持续超过2分钟 连接就会关闭 我正在使用 Express 4 10 2 和节点 0 10 32 我读到 http 模块的默认超时为 2 分钟 htt
  • 从变量值动态设置 ng-controller

    我正在使用 AngularJs 和 NodeJS 开发一个应用程序 我对将控制器的名称设置为主控制器中的变量的值感到震惊 为了更好地解释它 我的 index html 看起来像这样 tbody tr td td td member task
  • 将base64图像转换为Node Js中的文件

    我是 Node Js 新手 我需要包含用户的个人资料图片 我从 IOS 应用程序收到 Base64 图像的请求 我需要将其存储在 images 文件夹中并将图像路径保存在 mongodb 数据库中 我使用了以下代码 var bitmap n
  • 接近堆限制的无效标记压缩分配 Angular 8 - JavaScript 堆内存不足

    42 构建 274 275 模块 1 个活动模块 src index js 提取 D Clients app node modules sass loader lib loader js ref 15 3 D src styles scss
  • NodeJS Express 中每个请求的全局范围

    我有一个基本的快速服务器 需要在每个请求处理期间存储一些全局变量 更深入地说 请求处理涉及许多需要存储在变量中的操作 例如global transaction 当然 如果我使用global范围 每个连接都将共享其事务的信息 并且我需要一个全
  • 我可以在 Express POST 请求中进行 DOM 操作吗?

    我正在使用基本的 HTML CSS 前端 目前有一个登陆页面 上面有一个表单 可将 一些数据发送到数据库 当请求完成后 它期待某种响应 在这种情况下 我正在重新渲染页面 但是 我想用某种感谢消息替换表单 以便用户知道它已正确发送 我尝试过简
  • 降低 Nodejs 服务器上的 CPU 利用率

    我正在研究降低 CPU 利用率的有趣方法 在 NodeJS 服务器上 在我的研究过程中 我发现了以下文章 http engineering linkedin com nodejs blazing fast nodejs 10 perform
  • 如何模拟 typeORM 的 getCustomRepository

    我想对一个在其构造函数中使用 getCustomRepository 的类进行单元测试 但我只是想不出一种简单的方法来模拟它 这是我的班级代码 import getCustomRepository from typeorm export c
  • Socket.io 最佳编码实践

    我正在开发一个 Node js 应用程序 它使用 Socket io 来处理实时通信 我的代码充满了 On 和 Emit 函数 我也使用房间功能 我的应用程序如下所示 var server require http Server var i
  • 如何从 JavaScript 中的 URL 中提取主机?

    捕获域直到结束字符 我需要一个捕获的正则表达式example com在所有这些中 example com 3000 example com pass gas example com example com 如果您确实有有效的 URL 那么这
  • mongodb/node.js 中单文档并发读写操作的问题

    编辑 6 15我尝试运行相同的代码 在调用之前添加延迟 doSafePush 再次收到 ConcurrencyDBError 时 即执行return when resolve wait delay 35 then function doSa
  • MongoDB - 在父文档中填充 GridFS 文件元数据

    我使用 NodeJS 与 Express MongoDB Mongoose 和 GridFS 来上传和检索文件 我想通过 ID 引用其他文档中的文件 并在查询其他文档时填充文件元数据 例如 如果我有一个包含这样的文档的 用户 集合 id O

随机推荐

  • 删除引导程序中标题图像中的细线

    我在标题 菜单中有带有 bootstrap 和 svg sprite 的基本代码 并且图标中有一条细细的灰色背景线 http codepen io anon pen dpzKoQ editors 1100 http codepen io a
  • 无法显示此文件的设计器,因为无法设计其中的任何类

    我们有以下共享组件 public class OurServiceBase System ServiceProcess ServiceBase 此类具有我们在所有下游服务中所需的功能 例如标准化执行调度和日志记录功能 在一个新项目中 我添加
  • 在打字稿中导入html模板

    我试图import我的 html 模板 以便 webpack 能够识别它们并在我构建时包含它们 webpack d 根据这个 GitHub 问题 https github com Microsoft TypeScript issues 27
  • 使用 CLI omxplayer 调整音频音量级别 - Raspberry Pi

    我有一个 bash 脚本 可以通过 omxplayer 在 Raspberry Pi 上播放 mp3 文件 但无法控制本地 耳机 音量GUI 是否有一个命令CLI我可以在 bash 脚本中实现吗 我搜索了很多 但找不到这样的命令 Code
  • “DataView 在 System.data 中未标记为可序列化”是什么意思?

    当我将 dataview 存储在 viewstate 中时 net 显示错误 Dataview 在 system data 中未标记为可序列化 但当我将其存储在会话中时 它可以正常工作吗 背后的原因是什么 还有哪些其他对象没有标记为 可序列
  • 如何将选项传递给“集合”字段 Symfony 2.1 中的 CustomType?

    I have SuperType实体表格Super 在这种形式中我有一个collection现场ChildType实体的表单类型Child class SuperType public function buildForm FormBuil
  • 从 byte[] 下载 PDF 文件

    我一直在努力做一个PDF文件下载自bytes 在 ASP Net MVC C 中 下面的代码工作正常 我需要将代码转换为 NET Core对于相同的PDF下载过程 string fileName testFile pdf byte pdfa
  • 在主屏幕中安装启动器图标一次

    当用户安装 Android 应用程序时 会在应用程序菜单中创建启动器图标 我采访过的许多用户都希望 当他们安装应用程序时 他们的主屏幕 启动板 上应该自动出现一个图标 许多应用程序都以某种方式实现了这一点 我的偏好是在安装时出现一个窗口 询
  • 如何在 VB.Net 中运行 Powershell 脚本

    我需要在 VB Net 中运行 Exchange 2007 powershell 脚本 但我似乎找不到显示如何在加载模块的情况下执行此操作的方法 做到这一点的最佳方法是什么 您可以在VB中运行powershell脚本 请查看以下链接 htt
  • 单击按钮即可更新 D3 等值线州地图数据

    我使用 d3 datamaps 和 topojson 创建了一个 choropleth 州地图 我在根据按钮单击更改原始地图数据时遇到问题 首选方法是仅在更改函数内刷新原始地图的数据 相反 我让按钮执行函数消除包含地图的 div 然后重新创
  • Sqlite3_step() 在此查询上不断返回 SQLITE_MISUSE。有什么指点吗?

    我试图在 viewDidLoad 例程中打开一个 sqlite 数据库 并尝试将 sql 查询发送到该数据库 但 sqlite step 每次都会失败 我不确定这里出了什么问题 我只是尝试将其作为 sqlite3 的 hello world
  • 提交响应后 FormResponse.getId() 返回错误值

    我正在编写一个程序 需要各种谷歌表单响应的ID 我的程序首先创建表单对象并获取响应 var form FormApp openByUrl var allResponses form getResponses 如果表单响应是几个小时前的 那么
  • 转换时区时注意夏令时

    我有一个 Redshift 数据表 其中所有时间值都存储在 CST 中 并且我根据邮政编码 位置 将时间值转换为相应的时区 当我这样做时 我知道所有时间值都是标准时间 因此我的函数用法是 CASE WHEN convert timezone
  • 如何矢量化(利用 pandas/numpy)而不是使用嵌套 for 循环

    我希望有效地使用pandas or numpy 而不是嵌套for循环与if解决特定问题的语句 这是一个玩具版本 假设我有以下两个 DataFrame import pandas as pd import numpy as np dict1
  • 无法读取架构文档'http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd

    我正在为大学编写一个简单的 Swing 应用程序 并使用 Hibernate 和 Oracle XE 我被这个错误困住了 29 06 2011 14 54 10 org hibernate cfg annotations Version
  • 放大图像映射的某个区域

    我目前正在尝试制作一个响应式图像地图 我们还可以在其中缩放特定区域 目前我有类似的东西 插图 例如 我有 3 个部分用于 3 个不同的区域 但现在我不想在用户单击特定区域时放大该区域 我已经尝试了一些 jquery 脚本 但问题是它会缩放所
  • 如何隐藏Android手机上的软键栏?

    当我的应用程序启动时 我想隐藏软键栏 红色矩形 以获得更大的屏幕 我怎样才能隐藏它 当应用程序退出时 我是否需要特意显示该栏 或者应用程序退出后它会自动恢复 Android 4 1 手机正面没有硬件按键 我知道已经晚了 但这是正确的答案 所
  • 如何在 Spring Tools Suite 上添加 Spring roo

    我已经安装了 sts 但创建的新 roo 项目不存在 我需要做什么才能添加 spring roo 在以前的版本中我可以创建它 但在 3 5 0 中不行 在 Spring 工具套件中 单击仪表板中的 扩展 链接 搜索 Spring Roo 并
  • “known_hosts”文件中的 ECDSA 条目由哪些部分组成?

    我正在尝试从我的文件中提取 ECDSA 公钥已知主机归档该文件ssh用于验证主机 我下面有一个例子 这是我的known hosts 文件中 127 0 0 1 ecdsa sha2 nistp256 的条目 AAAAE2VjZHNhLXNo
  • Express 应用程序 - 更改基本 url

    我正在构建一个问答应用程序本教程 http engineering paiza io entry 2016 03 10 115345一切顺利 但我需要更改更改通过配置文件提供应用程序的基本根的机会 现在 该应用程序在 localhost 8