Options
Public feathers API in nuxt.config.ts.
ts
export default defineNuxtConfig({
modules: ['@pinia/nuxt', 'nuxt-feathers-zod'],
feathers: {
client: { mode: 'embedded' },
transports: {
rest: { path: '/feathers', framework: 'express' },
websocket: { path: '/socket.io' }
},
servicesDirs: ['services'],
database: {
mongo: {
url: 'mongodb://root:change-me@127.0.0.1:27017/app?authSource=admin',
management: {
enabled: false,
auth: true,
basePath: '/mongo'
}
}
},
server: {
enabled: true,
pluginDirs: ['server/feathers'],
moduleDirs: ['server/feathers/modules'],
secureDefaults: true
},
auth: false,
swagger: false,
templates: { enabled: false, dirs: [] }
}
})Main blocks
client
mode:embedded | remoteremote: external backend configpinia: feathers-pinia integration
transports
rest.pathrest.framework:express | koawebsocket.path
servicesDirs
Scanned directories for embedded services.
Recommended convention:
ts
servicesDirs: ['services']database
database.mongo
url- serializable Mongo
MongoClientoptions management
database.mongo.management
enabledauthbasePathexposeDatabasesServiceexposeCollectionsServiceexposeUsersServiceexposeCollectionCrud
This layer is optional and exposes a MongoDB management surface through the embedded feathers/server/mongodb.ts template.
server
enabledpluginDirspluginsmoduleDirsmodulessecureDefaultssecure
auth
falsetrue
In embedded mode, auth: true usually implies a local users service generated through the CLI.
swagger
falsetrue
templates
enableddirsstrictallow
Remote example
ts
export default defineNuxtConfig({
modules: ['@pinia/nuxt', 'nuxt-feathers-zod'],
feathers: {
client: {
mode: 'remote',
remote: {
url: 'https://api.example.com',
transport: 'rest',
restPath: '/api/v1',
websocketPath: '/socket.io',
services: [{ path: 'users', methods: ['find', 'get'] }],
auth: {
enabled: true,
payloadMode: 'jwt',
strategy: 'jwt',
tokenField: 'accessToken',
servicePath: 'authentication',
reauth: true
}
}
}
}
})