diff --git a/src/components/JSCodeEditorDialog.vue b/src/components/JSCodeEditorDialog.vue index 1efe908..d963d05 100644 --- a/src/components/JSCodeEditorDialog.vue +++ b/src/components/JSCodeEditorDialog.vue @@ -5,8 +5,8 @@
确认修改 -
Tips: 确认修改之后将会影响最终生成的代码逻辑
- +
Tips: 确认修改之后将会影响最终生成的代码逻辑
+
请检查语法错误:{{error}}
@@ -23,6 +23,7 @@ export default { data() { return { + error: '' }; }, beforeCreate() { }, @@ -42,8 +43,18 @@ export default { }, onSave() { const code = this.$refs.codeEditor.getEditorCode(); - this.$emit("saveJSCode", code); - this.handleClose(); + // 去掉注释 + const temp = code.replace(/.+\*\/\s*/gs, ""); + try { + // 转换为对象 + const JSCodeInfo = eval(`(function(){return ${temp}})()`); + this.$emit("saveJSCode", JSCodeInfo); + this.handleClose(); + this.error = ''; + } catch (error) { + console.warn(error); + this.error = error; + } } }, watch: { diff --git a/src/libs/main-panel.js b/src/libs/main-panel.js index 54d24d0..a7ab839 100644 --- a/src/libs/main-panel.js +++ b/src/libs/main-panel.js @@ -110,10 +110,8 @@ export class MainPanelProvider { } saveJSCode(code) { - const temp = code.replace(/.+\*\/\s*/gs, ""); - const JSCodeInfo = eval(`(function(){return ${temp}})()`); - this.externalJS = JSCodeInfo; - this.codeGenerator.setExternalJS(JSCodeInfo); + this.externalJS = code; + this.codeGenerator.setExternalJS(code); this.reRender(); }