Vue2.0 + jsmind:开发思维导图

注意vue2,jsmind(最新版的 0.9.1)直接引入会失败,

复制代码
import 'jsmind/style/jsmind.css'  //样式
import jsMind from 'jsmind'

ERROR Failed to compile with 1 error 10:02:54

error in ./node_modules/jsmind/es6/jsmind.js

Module parse failed: Unexpected token (8:38369)

You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders

这个错误通常是因为 jsmind 库发布了 ES6+ 语法的代码(如 class、箭头函数等),但你的项目 Webpack 配置没有将其纳入 Babel 转译范围,或者你引用的路径不对。

如果必须使用当前的导入方式,你需要告诉 Webpack 的 Babel Loader 去处理 jsmind 这个第三方库。

复制代码
module.exports = {
  transpileDependencies: ['jsmind']
}

也可以试试这个,不过该方式下引入将无法使用新版选项更改样式或渲染方式之类的

import jsMind from 'jsmind/js-legacy/jsmind.js'

上面的问题在 vue3.0中是不会出现的

使用起来还是很方便的

复制代码
const convertedData = {
  "id": "root",
   "topic": "jsMind",
   "children": [
       {
         "id": "easy",
          "topic": "Easy",
          "direction": "left",
          "expanded": false,
          "children": [
              { "id": "easy1", "topic": "Easy to show" },
              { "id": "easy2", "topic": "Easy to edit" },
              { "id": "easy3", "topic": "Easy to store" },
           ]
        }
     ]
}
var mind = {
    meta: {
        name: 'demo',
        author: 'hizzgdev@163.com',
        version: '0.2',
    },
    format: 'node_tree',
    data: convertedData,
};
var options = {
    container: 'jsmind_container',
    editable: true,
    theme: null, // primary
    view: {
        engine: 'canvas',
        draggable: true,
        enable_device_pixel_ratio: false,
    }
};
var jm = new jsMind(options);
jm.show(mind);

// 更新数据
const newData= {};
const mind = {
   meta: {
     name: 'li',
     author: 'test',
     version: '0.2'
   },
   format: 'node_tree',
   data: newData
 };
 // show 方法会重绘整个画布,达到覆盖效果
 jm.show(mind);

提示这个 topic可以直接这么写,这样即使很复杂的样式也能很简单的实现

topic: '<div class="box">1111</div>'

相关推荐
FlyWIHTSKY1 小时前
vue2和vue3有什么区别,用法上有哪些区别
前端·javascript·vue.js
程序员大阳2 小时前
副队长JavaScript教程(66)-本地存储实战:待办事项网页的开发
javascript·json·实战·待办事项·本地存储·案例
Dream-Y.ocean3 小时前
鸿蒙PC平台逻控 PLC 编辑器适配实战:基于 Electron 壳方案的纯 JavaScript 梯形图编程与仿真引擎开发
javascript·编辑器·harmonyos
前端小D5 小时前
JS核心底层
前端·javascript
Dovis(誓平步青云)6 小时前
启元 T1 Pro 人机相声搭档:语音-触摸双通道的启元机器人节奏引擎设计
开发语言·前端·javascript·microsoft·交互
ruanno_top6 小时前
能点,但 Tab 不到:两个组件把「可操作」做了一半
vue.js
爱吃烧烤的技术渣6 小时前
别再手写 CRUD 了:我把 Element Plus 的工作量压缩成一份列 schema
前端·vue.js
codeejun7 小时前
每日一Go·MySQL-11、覆盖索引 & 回表原理
javascript·数据库·mysql
用户298698530147 小时前
React 前端将 Excel 工作表导出为图片的技术实践
javascript·react.js·excel
徐小夕9 小时前
万字长文!DeepSeek Super-agent × 企业知识库架构深度拆解与落地实践
前端·vue.js·github