运行时环境
默认情况下,Asciidoctor.js 会通过鸭子类型(Duck typing)自动检测运行时环境。
配置运行时环境
以下部分涵盖了一个高级话题。对于大多数使用场景,您不需要显式配置运行时环境。 |
在您被提醒之后,您可以在实例化 Asciidoctor.js 时使用 运行时 配置对象来显式定义运行时环境:
const asciidoctor = require('asciidoctor')({
runtime: {
platform: 'browser',
engine: 'v8',
framework: 'webextensions'
}
})
以下是支持的配置值:
-
runtime.platform
-
node: Node.js
-
java: Java (GraalVM)
-
standalone: Standalone (spidermonkey)
-
browser: 浏览器(Chrome, Firefox, Opera, Edge 等)
-
-
runtime.engine
-
v8
-
graalvm
-
-
runtime.framework
-
electron
-
webworker
-
spidermonkey
-
phantomjs
-
I/O 模块
I/O 模块提供了文件读取的实现。
默认情况下,Asciidoctor.js 会根据运行时环境来确定 I/O 模块。要显式定义 I/O 模块,您可以在实例化 Asciidoctor.js 时指定 runtime.ioModule
属性:
const asciidoctor = require('asciidoctor')({
runtime: {
ioModule: 'xmlhttprequest'
}
})
ioModule 可以是以下之一:
-
node: 实现将使用
fs
模块。 -
xmlhttprequest: 实现将使用
XMLHttpRequest
对象。 -
graalvm: 实现将使用一个名为
IncludeResolver
的绑定类:context.getPolyglotBindings().putMember("IncludeResolver", new IncludeResolver());
-
spidermonkey: 实现将使用
read
函数。 -
phantomjs: 实现将使用
fs.read
函数。