629ee75588
Terser will aggressively inline hot functions in renderer.ts in order to reduce "function" declarations, but the inlining leads to performance overhead (small, but noticeable in benchmarks). Since we cannot control user's minifier options, we have to avoid the deopt in the source code by using arrow functions in hot paths. |
||
---|---|---|
.. | ||
__tests__ | ||
src | ||
api-extractor.json | ||
index.js | ||
LICENSE | ||
package.json | ||
README.md |
@vue/runtime-core
This package is published only for typing and building custom renderers. It is NOT meant to be used in applications.
For full exposed APIs, see src/index.ts
. You can also run yarn build runtime-core --types
from repo root, which will generate an API report at temp/runtime-core.api.md
.
Building a Custom Renderer
import { createRenderer } from '@vue/runtime-core'
const { render, createApp } = createRenderer({
patchProp,
insert,
remove,
createElement,
// ...
})
// `render` is the low-level API
// `createApp` returns an app instance with configurable context shared
// by the entire app tree.
export { render, createApp }
export * from '@vue/runtime-core'
See @vue/runtime-dom
for how a DOM-targeting renderer is implemented.