网站搜索
我有一个简单的 Koa 应用。我也使用 mongoose 和 mongodb(Mlab)
我连接了 MongoDB。并且我只能找到 ourCat。我在控制台中看到了数组。但我不知道如何在页面上获取并显示结果。我怎样才能在某个中间件中使用我的数据库请求?
const Koa = require('koa'); const app = new Koa(); const mongoose = require('mongoose'); const mongoUri = '...'; mongoose.Promise = Promise; function connectDB(url) { if (!url) { throw Er 阅读更多 →
我使用 Koa 和 Node.js 8.1。
今天我发现,在我的 app.js 中,如果我按这个顺序写:
const Koa = require('koa') var cors = require('koa-cors') const app = new Koa() app.use(cors(options)) app.use(router.routes())CORS 可以工作。我可以通过在 Postman 中发送 origin 头来验证结果,并获得
访问控制允许来源
作为响应头
阅读更多 →我如何覆盖 koa-body 的类型定义?koa-body 的类型定义如下:
declare module "koa" { interface Request { body: any; } interface Context { body: any; } }我想覆盖成类似这样的内容(文件 index.d.ts):
import { Files } from 'formidable' interface IBody { files: Files } declare module "koa" { interface Request { body: IBody } interface Context { body: IBody } }但是智能感知不起作用,它仍然显示 ct
阅读更多 →我正在使用带有 Koa 的 TypeScript。有人能告诉我如何生成自动的 API 文档(而不是手动)吗?我看到有一个包 tsoa (https://www.npmjs.com/package/tsoa),但是我只想为我的 routes 创建一个简单的 API 文档,所以我不想创建控制器。
阅读更多 →
我正在用 TypeScript 和 Koa 2 编写一个应用程序。
然而,我遇到的问题是,我的全局 Koa 错误处理程序无法捕获在我的应用程序中抛出的错误。
以以下中间件为例(这是在加载任何路由之前的第一个中间件):
app.use(async(ctx, next) => { console.log("ErrorHandler loaded..."); try { console.log("Trying for error..."); 阅读更多 →我有一个使用 Koa.JS 开发的网络应用程序。我想将其部署到 Azure 云函数和 AWS Lambda,这样我就不需要维护服务器相关的东西,而且也不会被云服务商锁定。
有什么框架可以支持这种需求吗?
这是我得到的网络应用程序。
index.ts
const Koa = require('koa'); const app = new Koa(); app.use(async ctx => { ctx.body = 'Hello World'; }); app.listen(3000);有什么框架可以支持这种需求吗?
Express(旧版 Koa)支持更广泛
我决定按用途划分我的路由器,所以它们看起来像这样:
路由器/homeRouter.ts
import * as Router from 'koa-router'; const router: Router = new Router(); router .get('/', async (ctx, next) => { ctx.body = 'hello world'; }); export = router;路由器/userRouter.ts
阅读更多 →
我在 Typescript 中是新手,正在尝试整合 koa-router 和 koa-passport。已经安装了所有 @types\
import Koa from "koa"; import Route from "koa-router"; import passport from "koa-passport"; import session from "koa-session"; const app = new Koa(); const router = new Route(); app.keys = [process.env.S 阅读更多 →
部分解决:
在 GitHub 上有一个关于这个问题的旧问题的描述。当你在全局作用域中声明一个模块时,它会重写整个导出模块的类型。当你在一个模块内部声明一个模块时,它会合并。为什么?我不知道。
https://github.com/microsoft/TypeScript/issues/17736#issuecomment-344353174
我想通过接口合并来扩展第三方模块的类型。一切正常,但当我在 t
阅读更多 →我正在使用以下接口来定义我的 koa 上下文和状态:
export interface AppState extends Koa.DefaultState { //... } export interface AppContext extends Koa.DefaultContext { models: DomainModels; connection: Connection; }然后这样实例化 koa:
const app = new Koa<AppState, AppContext>(); app.use(session(sessionConfig, app));问题在于 koa-session 的类型使用了声明合并,并导致以下错误:
Argument of type 'import("/Users/chance/Projects/pear/packages/api/node_modules/ 阅读更多 →