MorkJs docs
.NET 4.0 JavaScript & 模板引擎

MorkJs 文档站

在 .NET 环境解析、执行 JavaScript 语法,并提供带组件能力的模板引擎。支持扩展 .NET 类型、模块化 import/export、DataTable 访问以及可暂停的执行流程。

核心能力

JavaScript 执行

ECMAScript 5 + 部分 ES6

支持 let/const、箭头函数、for...of 等语法,内置 Object/Array/Number/String/Date 及常用方法(parseInt、parseFloat、stringify、eval)。

模板引擎

标签驱动的文本生成

通过 <@if><@for><@switch> 等标签生成脚本并执行,支持组件、插槽、模板导入/导出。

.NET 互操作

类型/实例映射

使用 ObjectMemberAttributeScriptMappingAttribute 等,将 .NET 类型、实例、方法和属性暴露给脚本;支持 DataTable 代理与自定义代理。

可暂停执行

Pause / Continue

脚本运行中可调用 ScriptContext.Pause() 暂停,外部再通过 Continue() 恢复,方便与异步流程或批处理协作。

模块化

import/export 支持

脚本与模板均支持 ES 模块语法,可通过自定义 IImportSourceManager 控制引用来源,便于按需拆分脚本。

示例完善

Windows 窗体演示

示例项目 ScriptTest 演示类型映射、方法映射、代理、导入导出、模板组件等常见使用场景。

项目结构

核心库

位于 MorkJs/ShenGu.Script,目标框架 .NET Framework 4.0

  • MorkJs.cs:JavaScript 解析与执行。
  • ScriptContext.cs:执行上下文、值转换、注册映射。
  • TemplateParser.cs:模板标签解析与组件系统。
  • ScriptNativeObject.cs:类型映射、属性/方法暴露及代理。

演示与测试

位于 MorkJs/ScriptTest

  • ScriptTestForm.cs:可视化运行脚本与模板的 WinForms。
  • DefaultScripts.cs:类型映射、代理、导入导出示例。
  • html/:脚本与模板示例(组件、插槽、导入导出)。

快速导航

执行脚本

创建 ScriptContext、添加变量,使用 MorkJs.Parse(...).Execute(context)ScriptUtils.ExecuteScript 直接得到 context.Result

查看示例

模板输出

<@if> / <@for> 组合文本逻辑,再通过 ScriptUtils.ExecuteTemplate 生成字符串结果。

模板用法

API & 标签速查

查找常用方法(注册类型、对象转换、暂停继续)以及模板标签用法、组件/插槽语义。

打开参考
需要更多示例?参见 MorkJs/ScriptTest/html/build 中的组件模板,以及 MorkJs/ScriptTest/html/test 的脚本用例。