A pluggable and extendable web framework which integrates React, Next and Koa(Eggjs) to create your own web application out of the box with even zero configuration.
mkdir hello && cd hello
yo generator-caviar
npm run dev
Yeah, we have our first application
project/
|-- app
|-- pages
|-- caviar.config
| |-- .env
| |-- client.env
| |-- index.js
|-- package.json
|-- ...
The sections below is for development purpose
const {
Sandbox,
Server,
ConfigLoader
} = require('caviar')
- options
Object
- cwd
path
the current working directory - port?
number
server port - dev?
boolean=false
whether is for development purpose - serverClassPath?
path
the file path of theServer
class. Defaults to theServer
class path of thecaviar
project. - configLoaderClassPath?
path
the file path of theConfigLoader
class
- cwd
Creates a new sandbox. Sandbox is design to filter the environment variables.
Start the sandbox, and it will create a new Server
by passing {cwd, port, dev}
as options.
- options
Object
- cwd
- port?
Number
options.port
will overrideconfig.port
ofcaviar.config.js
- dev?
- configLoaderClassPath?
Create a new Server
const server = new Server({
cwd,
dev: true
})
await server.ready()
server.listen(8888)
Initialize the server
Returns a callback function suitable for the http.createServer()
method to handle a request.
require('http')
.createServer(server.callback())
.listen(8888)
This method must NOT be called before the server is ready (await server.ready()
)
- port?
number
optional server port. Ifport
is specified, it will overrideoptions.port
. - callback?
Function
Thanks @reallinfo for the great logo