/Knowledge/sources/honojs__hono/llms-full/factory-helper-factory-createapp--part-03--17e06fc1cd87.md
Factory Helper: factory.createApp() (part 03) - hono-docs
Factory Helper: factory.createApp() (part 03) Source evidence: /Sources/honojs hono/provenance.md Canonical citation: https://hono.dev/llms full.txt factory...
Factory Helper: factory.createApp() (part 03)
Source evidence: /Sources/honojs__hono/provenance.md Canonical citation: https://hono.dev/llms-full.txt#factory-createapp
Summary
createFactory() can receive the initApp option to initialize an app created by createApp(). The following is an example that uses the option. ```ts // factory-with-db.ts type Env = { Bindings: { MY_DB: D1Database } Variables: { d...
Content
createFactory() can receive the initApp option to initialize an app created by createApp(). The following is an example that uses the option.
// factory-with-db.ts
type Env = {
Bindings: {
MY_DB: D1Database
}
Variables: {
db: DrizzleD1Database
}
}
export default createFactory<Env>({
initApp: (app) => {
app.use(async (c, next) => {
const db = drizzle(c.env.MY_DB)
c.set('db', db)
await next()
})
},
})
// crud.ts
import factoryWithDB from './factory-with-db'
const app = factoryWithDB.createApp()
app.post('/posts', (c) => {
c.var.db.insert()
// ...
})
Metadata
{
"chunk_index": 2,
"citation": "https://hono.dev/llms-full.txt#factory-createapp",
"coverage_role": "overview",
"qualified_title": "Hono / llms-full / Factory Helper > `factory.createApp()` (3)",
"retrieved_at": "2026-07-02T05:51:01Z",
"section_index": 662,
"source_id": "/honojs/hono",
"source_type": "llms_full",
"target_label": "llms-full",
"title": "Factory Helper: factory.createApp() (part 03)",
"upstream_url": "https://hono.dev/llms-full.txt",
"version": "2026"
}