如何将参数传递给本地Prettydiff.com

时间:2013-04-30 12:13:59

标签: javascript diff jslint

我已经下载了PrettyDiff的副本以嵌入我自己的本地应用程序中,因此我可以比较两个变量中加载的两个AJAX文件。

不幸的是,我似乎无法让prettydiff工作。这是我尝试的方式:

var example1 = getFile('exemple1.txt');
var example2 = getFile('exemple2.txt');
var output = prettydiff("/*prettydiff.com api.lang: 8, api.mode: diff, api.diffview: inline, api.source:example1, api.diff: example2 */");
document.getElementById("output").innerHTML = output[0];

我得到的只是“错误:缺少源样本。”。

我也尝试制作一个填充参数的“api”变量,但这也不起作用。

文档没有提供有关如何传递参数(选项,源和差异文本)的任何示例。

有谁知道?

2 个答案:

答案 0 :(得分:2)

好的,我找到了让它运转的方法。我仍然不知道文档中指定的参数作为注释的大惊小怪,但您可以创建一个js对象并传递所有参数:

var api = new Object();
api.mode = "diff";
api.diffview = "inline";
api.lang = 8;
api.source = example1;
api.diff = example2;
var output = prettydiff(api);

答案 1 :(得分:0)

您可以像这样使用prettydiff选项。

const prettydiff = require("prettydiff");
let options = prettydiff.options;
options.source = content_Old;
options.diff = content_New;
options.diff_format = "html";
options.lang = "script";
options.color = "white";
options.diff_space_ignore = false;
options.diff_view = "sidebyside";
options.lexer = "script";
options.sourcelabel = "Original File";
options.difflabel = "Updated File";
options.mode = "diff";
options.parse_format = "htmltable";
options.list_options = true;
options.crlf = false;
options.force_indent = true;
outputHtml = prettydiff();