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();
}