Вопрос

Настроил ли кто-нибудь что-то подобное себе, используя существующий node.js REPL? Я не придумал, как это сделать быстро.

Сегодня я использую emacs и вот что: https://github.com/ivan4th/swank-js

Этот модуль состоит из:

  1. Дополнение SLIME-js к emacs, которое в сочетании с режимом js2 позволяет вы просто вводите C-M-x где-нибудь в теле функции def - и off переходит из строки функции в ..

  2. Сервер Swank-js (да, вы можете выполнить оценку со своей локальной машины непосредственно удаленному процессу), написанное на Node.js - он получает строка функции, которую вы оценили, и фактически вычисляет ее

  3. Целая часть, позволяющая подключаться к другому порту на этом сервере. с вашим БРАУЗЕРОМ, а затем позволяет вам управлять DOM в этом браузере (что неплохо, но не актуально)

Мое решение использует SLIME-js на стороне emacs, И мне требуется ('swank- js ') в моем файле app.js

Теперь ... у меня есть несколько проблем и вопросов относительно моего решения или другие возможные:

В1. Вы переусердствовали? Есть ли у кого-нибудь секретный способ оценки материала из нано в его живой процесс?

Q2. Мне пришлось изменить способ оценки swank-js ... он использовал некоторые разновидность черной магии вроде этого:

родовое слово

который, насколько я понимаю, просто копирует глобальные переменные в новый контекст и после eval не изменяет исходную функцию определения - ТАК .. Я просто использую "eval" и ИТ РАБОТАЕТ.

Есть ли у вас какие-либо комментарии по этому поводу?

Q3: чтобы повторно вычислить функцию, она должна быть ГЛОБАЛЬНОЙ функцией - Плохая практика - иметь все определения функций как глобальные (похожие на clojure)? Как вы думаете, есть другой способ сделать это?

Это было полезно?

Решение

На самом деле swank.js становится намного лучше, и теперь стало намного проще настроить swank js для вашего проекта с помощью NPM.Я сейчас пишу документацию, но функциональность есть!

Другие советы

Оцените это http://nodejs.org/api/vm.html

родовое слово

Должен вам очень помочь, все вещи песочницы для узла используют его :) но вы можете использовать его напрямую :)

Вы можете взглянуть на jsapp.us, который запускает JS в песочнице, а затем представляет его миру как небольшой тестовый сервер.Вот jsapp.us репозиторий github .

Кроме того, зайдите в # node.js и задайте вопросы дляболее быстрый ответ :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top