Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func DefaultSourceLoader ¶
DefaultSourceLoader 如果没有设置 SourceLoader,就使用 DefaultSourceLoader(参考 WithLoader() ),它只会从宿主文件系统中加载文件
func RegisterNativeModule ¶
func RegisterNativeModule(name string, loader ModuleLoader)
Types ¶
type Option ¶
type Option func(*Registry)
func WithGlobalFolders ¶
WithGlobalFolders 将给定的路径添加到 Registry 的全局文件夹列表中,以便在其他地方找不到请求的模块时进行搜索。 默认情况下,一个 Registry 的全局文件夹列表是空的 参考的 Nodejs 的实现,默认的全局文件夹列表是 $NODE_PATH、$HOME/.node_modules、$HOME/.node_libraries 和 $PREFIX/lib/node 参考: https://nodejs.org/api/modules.html#modules_loading_from_the_global_folders
func WithLoader ¶
func WithLoader(srcLoader SourceLoader) Option
WithLoader 设置了一个函数,这个函数将被 require() 函数调用,以便在给定的路径上获得一个模块的源代码 同样的,函数将被用来获取外部的源码 map 注意,这只影响由 require()函 数加载的模块 如果你需要把它作为源码 map 加载器,用于以不同方式解析的代码(如 runtime.RunString() 或 eval() ),请使用 (*Runtime).SetParserOptions()
type Registry ¶
Registry 包含一个可供多个运行时使用的已编译的模块缓存
func NewRegistry ¶
func NewRegistryWithLoader ¶
func NewRegistryWithLoader(srcLoader SourceLoader) *Registry
func (*Registry) Enable ¶
func (r *Registry) Enable(runtime *js.Runtime) *RequireModule
Enable 将 require() 函数添加到指定的 Runtime
func (*Registry) RegisterNativeModule ¶
func (r *Registry) RegisterNativeModule(name string, loader ModuleLoader)
type RequireModule ¶
type RequireModule struct {
// contains filtered or unexported fields
}
type SourceLoader ¶
SourceLoader 是一个函数,它在给定的路径上返回一个文件数据 如果文件不存在或者是一个目录,返回 ModuleFileDoesNotExistError 这个错误将被解析器忽略,搜索将继续进行。任何其他错误都会被传递