Skip to content

API Host NativePackageDefinition

Liu.Yandong.Hanks edited this page Sep 7, 2026 · 3 revisions

NativePackageDefinition

可选扩展包的不可变宿主定义。

命名空间:AuroraScript.Core。类型:class。

返回 .NET 宿主 API 参考

概述

NativePackageDefinition 将裸脚本导入路径连接到带 [NativePackage] 的生成 ScriptObject 类型。定义不可变,可在多个选项实例间复用。引擎为每个全局环境和域创建新的模块对象,因此可变模块状态不会在引擎或域之间共享。

大多数宿主应从 NativePackages 选择定义。仅在提供自定义扩展包时直接构造此类型。

构造函数

NativePackageDefinition(Type nativeType)
名称 类型 必需 说明
nativeType Type 是 带 [NativeType] 与 [NativePackage] 的生成类型。必须是 sealed 顶层 ScriptObject,并暴露 RegisterPackage。

不要把该类型列入 WithNativeTypes。

var options = EngineOptions.Default.WithPackages(packages =>
    packages.Add(NativePackages.FileSystem).Add<CustomPackageSupport>());

脚本导入已配置的裸路径:

import metrics from "metrics";

属性

Name

string Name

宿主模块 API、脚本 global.getModule 及名称冲突检测使用的显式查找名称。运行时存储标识仍为扩展包源 FullPath。

ModulePath

string ModulePath

import Alias from "path"; 使用的规范化裸导入路径。

行为与边界

  • 定义不会自行启用。在构造 AuroraEngine 之前将其添加到 EngineOptions.Packages。
  • 引擎通过生成的 RegisterPackage 为每个运行时模块实例构造对象。
  • 已启用的扩展包名称和路径必须唯一。
  • 解析器可见的项目模块若其 @module 名称与已启用扩展包冲突,会导致链接错误。
  • 裸路径可包含 /,但模块名称是单个 AuroraScript 标识符。

AuroraScript.JIT 4.0.0

入门

语言

脚本 API

宿主集成

工具

项目

Clone this wiki locally