Тестируете и редактируете JavaScript (как отдельный, так и в HTML) в SciTE?

Всякий раз, когда я пытаюсь запустить файл .js в SciTE (текстовый редактор Scintilla), я почти всегда получаю сообщение об ошибке, указывающее, что определенные переменные не определены. Я предполагаю, что в SciTE не так много библиотек JavaScript, но я не уверен.

Несколько поисков дали мне эти два сообщения в блоге о том, как заставить SciTE печатать JavaScript test на его вывод, а не просто открывать веб-браузер, когда вы нажимаете F5 для проверки кода.

Я попробовал их оба, но либо получил те же ошибки, что и раньше, с решением первого сообщения, либо я получил сообщение об ошибке, в котором говорилось, что «jrunscript» не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл» со вторым метод.

Итак, возможно ли протестировать код JavaScript в SciTE и вывести вывод JavaScript (или ошибки) в вывод SciTE?

Простой пример кода, который я пробовал:

console.log("тест")

Сообщение об ошибке, которое я получил для этого: «Ошибка времени выполнения Microsoft JScript:« консоль »не определена»


person Username    schedule 15.06.2012    source источник
comment
Можете ли вы дать нам простой фрагмент кода, который вы ожидаете запустить? Глядя на этот пост, он запускает javascript с помощью исполнителя системного сценария (cscript). Вы ожидаете, что у него будет доступ к DOM браузера или что-то в этом роде, если да, я не думаю, что это произойдет...   -  person Chris    schedule 15.06.2012
comment
Извини за это. Я добавил простую строку console.log().   -  person Username    schedule 16.06.2012
comment
Может быть, покопаться в настройках SciTE, чтобы узнать, можно ли использовать другую среду выполнения для запуска отдельных файлов Javascript? Например, Node.js предоставляет console.log API.   -  person millimoose    schedule 16.06.2012


Ответы (1)


Что такое SciTe?

SciTE — это основанный на SCIntilla текстовый редактор. Lua встроен в SciTe, что позволяет вам получить доступ к API Scintilla.

# lua code example
`command.go.*.js=jrunscript $(FileNameExt)`

Как запустить код js в SciTe?

Создайте файл с именем testConsole.js со следующим содержимым.

var console = console || {};
console.log = ( console.log || function( str ){
    if( typeof print == "function" ){
        print( "LOG: " + str + "\n" );
    }
    return "LOG: " + str;
});
console.log( "Javascript works." );

Откройте testConsole.js в SciTe.

Чтобы запустить код, нажмите F5 или щелкните Tools > Go.

Должно появиться окно вывода, показывающее

LOG: Javascript works.

Как мне настроить SciTe для запуска JavaScript?

Я использую SciTe 3.2.0. Расположен здесь в wscite\wsite320\cpp.properties строке: 424
изменение:
command.go.*.js=cscript /nologo $(FileNameExt)

на:
command.go.*.js=jrunscript $(FileNameExt)

если вы хотите использовать node.js, измените его на
command.go.*.js=node $(FileNameExt)

Убедитесь, что у вас есть jrunscript или node в вашем пути для переменных среды.
Учебное пособие здесь

У меня есть jrunscript?

Вот самый простой способ проверить.
Откройте run > введите cmd > введите jrunscript.
js> должно появиться на экране.

jrunscript.exe должно находиться здесь.
C:\Program Files\Java\jdk1.7.0_01\bin\jrunscript.exe

Загрузите последнюю версию Java SDK, если не можете ее найти.

Сообщения об ошибках

Что означает 'Microsoft JScript runtime error: 'console' is undefined'

Это означает, что Microsoft JScript запустил ваш javascript и не смог найти переменную console.
Определите console, чтобы избавиться от сообщения об ошибке.

var console = console || {};
console.log = ( console.log || function( str ){
    if( typeof print == "function" ){
        print( "LOG: " + str + "\n" );
    }
    return "LOG: " + str;
});

Microsoft JScript может находиться здесь:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\jsc.exe

Ошибка: Input Error: There is no file extension in "location"

Решение. Вам необходимо настроить файл cpp.properties для javascript.

Ошибка: script file test is not found

Решение: переименуйте файл. Убедитесь, что в нем нет пробелов.

person Larry Battle    schedule 15.06.2012
comment
Извините за поздний ответ, Ларри Баттл. Это странно — у меня на компьютере установлена ​​последняя версия Java SDK по тому же пути. У меня даже есть jrunscript (я протестировал его с помощью console.log() и других базовых JS, чтобы убедиться, что он работает). Но когда я изменил строку 424 в SciTE, я все равно получил то же сообщение об ошибке. - person Username; 22.06.2012
comment
Измените ассоциацию файлов для файлов js на блокнот. Если у вас все еще есть проблемы, повторно загрузите программу Scite или попробуйте использовать другой компьютер. - person Larry Battle; 22.06.2012