diff --git a/modules/code-generator/src/generator/ProjectBuilder.ts b/modules/code-generator/src/generator/ProjectBuilder.ts index f3fb5fc1c..f36ddb4a3 100644 --- a/modules/code-generator/src/generator/ProjectBuilder.ts +++ b/modules/code-generator/src/generator/ProjectBuilder.ts @@ -320,7 +320,7 @@ export class ProjectBuilder implements IProjectBuilder { // template: this.template, inStrictMode: this.inStrictMode, tolerateEvalErrors: true, - evalErrorsHandler: '', + evalErrorsHandler: 'console.error(error)', ...this.extraContextData, ...extraContextData, }, diff --git a/modules/code-generator/src/utils/jsExpression.ts b/modules/code-generator/src/utils/jsExpression.ts index 25c7f47fd..08d2fafd8 100644 --- a/modules/code-generator/src/utils/jsExpression.ts +++ b/modules/code-generator/src/utils/jsExpression.ts @@ -79,7 +79,12 @@ function getBodyStatements(content: string) { throw new Error('Can not find Function Statement'); } -export function isJsCode(value: unknown): boolean { +/** + * 是否是广义上的 JSFunction + * @param value + * @returns + */ +export function isBroadJSFunction(value: unknown): boolean { return isJSExpressionFn(value) || isJSFunction(value); } @@ -117,7 +122,7 @@ export function generateFunction( isBindExpr: false, }, ) { - if (isJsCode(value)) { + if (isBroadJSFunction(value)) { const functionCfg = value as IPublicTypeJSFunction; const functionSource = getFunctionSource(functionCfg); if (config.isMember) {