想给 leanote desktop-app 添加 mermaid 的支持,研究了一下代码,主要修改 main-v2.js ,但是在引入 https://cdnjs.cloudflare.com/ajax/libs/mermaid/7.1.2/mermaid.js
包的时候,总是出错,找了几个小时,也没有好办法,特此前来请教一下。mermaid.js 是用 webpack 打包后的文件。
目前发现还是包导入的姿势不对,新手请求各位指点一二!跪谢!
require 导入包的配置:
requirejs.config({
waitSeconds: 0,
packages: [
],
paths: {
...
'mermaid': 'public/libs/uml/mermaid'
},
以下是新增的代码:
function renderMermaid() {
var mer = previewContentsElt.querySelectorAll('.prettyprint > .language-mermaid');
if (!mer || mer.length == 0) {
return;
}
console.log(mer);
require(['mermaid'], function (mermaid) {
console.log('xxx');
_.each(mer, function(elt) {
try {
/*
var chart = flowChart.parse(elt.textContent);
var preElt = elt.parentNode;
var containerElt = crel('div', {
class: 'flow-chart'
});
preElt.parentNode.replaceChild(containerElt, preElt);
chart.drawSVG(containerElt, JSON.parse(umlDiagrams.config.flowchartOptions));
*/
console.log(elt)
}
catch(e) {
console.error(e);
}
});
});
}
我自己验证了一下,写了个 math.js ,是可以引入并正确使用的
define(function (){
var add = function (x,y){
return x+y;
};
return {
add: add
};
});
PS, 为啥 desktop-app 的 main-v2.js 包含了很多其他的库,例如 underscore.js 、pretty 等等?感觉导入的包很混乱,整个文件有些大,编辑起来很吃力。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.