Как я могу преобразовать код JavaScript в одну большую строку Java - PullRequest
2 голосов
/ 13 января 2009

Итак, у меня есть 1000 строк JavaScript. Мне нужно превратить его в строку Java, чтобы я мог выводить (через System.out.println или любой другой).

Я ищу онлайн-инструмент , чтобы убрать все кавычки ... что-то, направленное на мою конкретную потребность, было бы хорошо, поскольку я не хочу, чтобы другие специальные символы менялись , Линии как:

var rgx = /(\d+)(\d{3})/;

нужно остаться без изменений.

Ситуация требует, чтобы JavaScript был помещен в строку, поэтому, пожалуйста, никаких обходных путей.

Ответы [ 4 ]

5 голосов
/ 14 января 2009

Вот ссылка, которая показывает реализацию Крокфордом функции quote() . Используйте его, чтобы создать свой собственный конвертер JavaScript.

Редактировать: Я также немного изменил функцию для вывода строки, безопасной для ascii по умолчанию.

Edit2: Просто предложение: может быть разумнее хранить JavaScript во внешнем файле и читать его во время выполнения вместо жесткого его кодирования ...

Edit3: А вот и полнофункциональное решение - просто скопируйте в файл .html и замените фиктивный скрипт:

<code><script src="quote.js"></script>
<script>
// this is the JavaScript to be converted:
var foo = 'bar';
var spam = 'eggs';

function fancyFunction() {
    return 'cool';
}
</script>
<pre><script>
document.writeln(quote(
    document.getElementsByTagName('script')[1].firstChild.nodeValue, true));
</script>
1 голос
/ 13 января 2009

Вы можете сжать файл, используя один из доступных инструментов для достижения этого эффекта:

YUI Compressor Online

Дин Эдвард Пакер

JSMIN Дугласа Крокфорда

0 голосов
/ 14 января 2009

Так что все, что я пробовал, заканчивало тем, что ломало JavaScript. Я наконец заставил его работать следующим образом:

Использование Notepad ++:

  1. Нажмите Shift + Tab несколько раз, чтобы удалить каждую строку

  2. Просмотр -> Показать конец строки

  3. Выделите LF char и сделайте Replace All, чтобы заменить его пустой строкой
  4. Повторите для символа CR

  5. Выделите «(символ кавычки) и выполните команду« Заменить все на \ »(экранированная кавычка) ... просто набрав символ кавычки в командной строке« Заменить », по некоторым причинам удалось получить только некоторые кавычки.

  6. Теперь у вас есть 1 чрезвычайно длинная строка ... В итоге мне пришлось разбить 1 строку на две строки длиной около 2000 символов ... Сумасшедшая длинная строка убивала IE и / или ломала строку Java предел.

0 голосов
/ 13 января 2009

Вы можете использовать инструмент jsmin , чтобы сжать Javascript до одной строки (надеюсь), но он не выходит за кавычки. Это можно сделать с помощью поиска / замены в редакторе или на языке сценариев на стороне сервера.

...