Ответ 1
jsdifflib сравнение в режиме реального времени, попробуйте настроить размер контекста, чтобы отобразить только нужное окно изменения, которое вы хотите. Там демо здесь
Я ищу эквивалент diff, написанный на JavaScript, который только возвращает/печатает соответствующие строки. Я не хочу, чтобы оба полных текста отображались рядом друг с другом с выделенными различиями, но просто хотите, чтобы фактические различия (плюс некоторые строки буфера, чтобы знать, где разница), аналогично выводу из утилиты linux diff.
Кто-нибудь знает функцию javascript, которая делает это? Все отличия должны быть распознаны (даже измененные пробелы). Спасибо.
jsdifflib сравнение в режиме реального времени, попробуйте настроить размер контекста, чтобы отобразить только нужное окно изменения, которое вы хотите. Там демо здесь
Я полностью перестроил утилиту jsdifflib для скорости. Поскольку моя версия не требует доступа DOM по крайней мере в 4,5 раза быстрее, а также расширяется, чтобы выделить различия символов в каждой строке.
http://prettydiff.com/diffview.js
Вы можете проверить это с помощью онлайн-инструмента прямо на http://prettydiff.com/
Там также google-diff-match-patch из Google
Также доступен на NPM
npm install diff-match-patch
Я не знаю много об утилите diff в linux или linux вообще, но это может быть то, что вы ищете jsdifflib, Вы можете найти живой пример там и посмотреть, работает ли он для вас.
Отъезд CodeMirror. Сказал Нафф.
Оформить мою минимальную реализацию: https://github.com/Slava/diff.js
Просмотрите wikEd diff библиотека JavaScript. Существует также онлайн-инструмент.
wikEd diff содержит встроенные текстовые сравнения с подсветкой блока и символьным/текстовым разрешением. Он оптимизирован для исходного текста в Википедии, но отлично подходит для любого типа текста или кода. Код библиотеки полностью настраивается, поддерживает Unicode, широко комментируется и находится в общественном достоянии.
jsdifflib выглядит многообещающим - попробуйте демонстрацию, связанную с этой страницей.
старый вопрос, который я знаю, но если ваше выполнение node работает или хочет что-то, что совместимо с модулем requirejs/commonjs
Мне действительно понравилось https://www.npmjs.com/package/diff
console.log(diff.createPatch('some file name.txt', expected, actual));