我不确定这里发生了什么,但它已经困扰了我一段时间。 marked
节点降价解析器的工作方式如下:
var marked = require('marked');
marked.setOptions({ mathjax : false });
这一切都有效。但我正在构建一个插件系统,我想将标记的模块函数传递给另一个文件中的函数,并在该函数中设置选项:
// main.js
var marked = require('marked');
var plugin = require('./plugin');
plugin(marked);
marked("# my markdown\n $$5 + 5$$", function(err, result) {
// this result still parses mathjax. Setting the option in the main
// file will disable mathjax.
console.log(result);
});
// plugin.js
module.exports = function(marked) {
marked.setOptions({ mathjax: false });
}
marked
函数正确传递给我的插件函数,调用了setOptions
函数,但是当我在主脚本中使用marked
后,未设置选项。如果我在主脚本中设置选项,它就可以了。
我有点不确定marked
是否为Function
,而setOptions()
的实施可能是其中的罪魁祸首?
有什么想法吗?
答案 0 :(得分:0)
你说你切换到kramed,setOptions
kramed
它返回kramed
的实例。因此,在另一个文件中设置选项可能不会改变main.js
中// main.js
var kramed = require('kramed');
var plugin = require('./plugin');
kramed = plugin(kramed);
kramed("# my markdown\n $$5 + 5$$", function(err, result) { console.log(result); });
//plugin.js
module.exports = function(kramed) {
return kramed.setOptions({ mathjax: false });
}
的全局实例。至少改为以下作品:
func Start () {
}