- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在结合 koa 服务器设置易于调试的 vue.js 项目时遇到了一些困难。来自 webpack-simple 生成的配置的命令 cross-env NODE_ENV=development webpack-dev-server --open --hot
似乎是一件好事,但是将它与 koa 一起使用的约定是什么/ express ?
我发现的一个解决方案是使用 pm2 同时启动 vue 的 webpack-dev-server 和后端,但我认为这意味着我需要初始登陆 vue.js 应用程序的复制版本我目前从/上的 koa 路线服务的页面。考虑这两个服务器也让我有点困惑,感觉很奇怪。
所以,我想我一定做错了!有人可以解释一个很好的传统方法吗?
最佳答案
如果您尝试将 webpack-dev-server 与您自己的 Node 后端一起使用,您将需要考虑使用 proxy
.
基本上,您的想法是在一个端口(例如,端口 3000
)上运行您的 webpack-dev-server
,并在另一个端口上运行您的 Node 服务器(例如,端口 3001
)。您只需要告诉 webpack 将您的服务器端请求转发到您的 Node 后端。
您可以通过将 proxy
属性添加到 webpack.config.js 文件中的 devServer
设置来实现。例如:
devServer: {
...
proxy: {
'/api/**': {
target: 'http://localhost:3001',
secure: false
}
}
}
现在,任何以 /api/
开头的请求都将转到您的 Node 后端。因此,如果您执行以下操作:
fetch('/api/users').then(...)
此请求将被代理到您的 Node 服务器。您只需要确保为所有服务器端路由添加前缀 /api/
。
要在 Koa 中自动为所有路由添加前缀,您只需执行以下操作:
const Koa = require('koa')
const Router = require('koa-router')
const app = new Koa()
const router = new Router({ prefix: '/api' })
// GET /api/users
router.get('/users', async ctx => {
...
})
app.use(router.routes())
app.use(router.allowedMethods())
如果您使用的是 Express,则可以通过执行以下操作来添加前缀:
const express = require('express')
const app = express()
const router = express.Router()
// GET /api/users
router.get('/users', (req, res) => {
...
})
app.use('/api', router)
关于javascript - 如何组织由 express/koa 后端服务的 webpacked vue.js 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44809967/
我正在使用 koa.js 开发节点服务器 我已经为 body 解析器寻找了一些库。 并且有好几种koa body parser。 但我不知道它们有什么区别,包括 koa-body和 koa-bodyp
我正在尝试使用 Koa.js,并检查了以下用于路由请求的模块:1.koa路线2. koa 挂载 当我在谷歌中查看他们的 github 页面/教程时,这些示例看起来几乎相似,只有细微差别。 对于 koa
假设我想在不使用扩展程序的情况下将一个简单的变量发布到 Koa 应用程序,我该怎么做? 最佳答案 您必须使用官方 koa-bodyparser 模块。 然后所有 POST参数将在 this.reque
抱歉,我不太明白 key 在 koa 中是如何工作的。在 koa 中,有keys字段上 app将像这样使用的对象: const app = new Koa(); app.keys = ['some s
我们为什么要做这个 router.get('/data', async (ctx, next) => { ctx.body = dummyjson.parse(data); await nex
这就是我的想法,伪代码。 const myRedirect = (routePath) => { newUrl = routePath; if (matches condition)
应用程序.js var bodyParser = require('koa-bodyparser'); app.use(bodyParser()); app.use(route.get('/objec
如何使用 koa-router 进行嵌套路由重定向? app.js: var router = require('koa-router')(); var route1 = require('./rou
我尝试使用该模块为 Koa 服务器建立 HTTPS 连接 https://www.npmjs.com/package/koa-sslify但我收到错误“AssertionError:app.use()
我有一个非常简单的服务器可以使用: import * as http from 'http'; import * as Koa from "koa"; import { Request, Respon
从用户代理进行 ajax POST $.ajax({ type: 'POST', url: 'https://mysub.domain.dev/myro
我试图从我们的 React 客户端上传一个大约 1.5 mb 的 JSON 对象到我们的 Koa.js node.js 服务器。 我将 Koa.js 与 koaBody(koa-body 4.1.1)
我正在潜入Koa2并看到koa-compose。我得到了我给它的中间件,并且它返回了一个,但是为什么呢?将多个中间件包装为一个而不是单独添加它们有什么好处? app.use(compose(m1, m
我正在尝试 Koa.js,并且正在寻找一种关于生成器返回错误处理的最佳实践(如果有的话)。采取以下措施: var sql = require('./lib/sql'); app.use(functio
通常,登录用户会获得内容类型的所有条目。 我创建了一个“代码段”内容类型(_id,name,content,users>snippets)>表示“具有并属于许多”关系。 我创建了一些测试用户并提出了一
在我的app.js中,我有以下内容... app.use(async (ctx, next) => { try { await next() } catch (err) { c
我在导出路线时遇到了一个奇怪的问题。由于某种原因,这段代码对我有用: app.js import Koa from 'koa' import routes from './routes/index'
我想将一些环境变量从 Koa 服务器传递到客户端。在 Express 中,我可以执行类似 res.render('index', { data: 'someData' }); 的操作,然后我可以访问
这是代码片段: //Category.service.js ... exports.update = async (ctx, next) => { const {categoryId} = ctx
我是 node 和 koa 的新手,所以请原谅我的愚蠢。 我不确定我是否搞砸了。但我想将 Koa 与 OrientDB 一起使用。我可以使用 Oriento(Node 的模块)连接到 OrientDB
我是一名优秀的程序员,十分优秀!