# Node.js API
# Usage
const { createApp, dev, build, eject } = require('vuepress')
# Methods
# createApp([options]): Promise<App>
Create a VuePress application.
# App.prototype.process: () => Promise<void> | never
An asynchronous method used to prepare the context of the current app, and which contains loading pages and plugins, apply plugins, etc.
# App.prototype.dev: () => Promise<App> | never
Launch a dev process with current app context.
# App.prototype.build: () => Promise<App> | never
Launch a build process with current app context.
# dev([options]): Promise<App>
Start a development server, actually it’s implemented by createApp
:
async function dev (options) {
const app = createApp(options)
await app.process()
return app.dev()
}
# build([options]): Promise<App>
Build your source files as a static site, actually it’s implemented by createApp
:
async function build (options) {
const app = createApp(options)
await app.process()
return app.build()
}
# eject(targetDir): Promise<void>
Copy the default theme into {targetDir}/.vuepress/theme
for customization.
# Options
# sourceDir
- Type:
string
- Required:
true
Specify the source directory of your VuePress site.
# theme
- Type:
string
- Required:
false
See theme.
# plugins
- Type:
array
- Required:
false
See plugins.
# temp
- Type:
string
- Required:
false
See temp.
# dest
- Type:
string
- Required:
false
See dest.
# siteConfig
- Type:
object
- Required:
{}
It’s useful when you’re writing tests and don’t want to depend on actual config file, for all options please head siteConfig.