使用Noesis.Javascript实现服务器端脚本,主要处理arttemplate模板的运行结果。
当arttemplate运行发生错误时,会出现无法抓取错误信息的情况。
这里使用类似hook的技术,拦截错误信息,以便于输出错误信息。
步骤1:在arttemplate.js中添加以下代码
var console = {};
console.error = function (s) {
templateError = s;
}
步骤2:在渲染后执行如下代码:
object obj = context.GetParameter("$sys_V8_result");
string fileContentStr = obj.ToString();
if (fileContentStr == "{Template Error}")
fileContentStr = context.GetParameter("templateError").ToString();
其中context是JavascriptContext。fileContentStr是输出的渲染结果。