Я работаю над относительно большим проектом машинописного текста, я использую ts-node для тестирования узлов и примеров. Насколько я понимаю, ts-node компилирует файлы ts в файлы js и выполняет.
Недавно я услышал о deno, среде выполнения машинописного текста. Я пробовал несколько примеров в машинописном тексте, который работает с ts-node. Я запустил пример с deno, в консоли было напечатано много сообщений компиляции, затем код был выполнен. А потом я обнаружил, что в /username/.deno есть файлы кеша. Я не чувствую, что выполнение deno быстрее, чем ts-node
Кажется, что и deno, и ts-node будут компилироваться и запускаться с использованием кеша. В чем разница между ними?





ts-node основан на Node, в то время как Deno - это совершенно другая и новая среда выполнения на стороне сервера с изменениями дизайна API, модульных систем, модели безопасности и т. д. (что лучше отражает разработки ES6 после публикации). Кроме того, компилятор TypeScript находится непосредственно внутри единственного исполняемого файла Deno (через снимки состояния V8) и, следовательно, должен иметь более короткое время запуска.
Я думаю, что @rsp уже опубликовал подробную информацию о Deno.
Я хочу отметить здесь несколько ключевых моментов, чтобы другие могли легко заметить ключевое отличие:
Язык- Deno основан на языке RUST. Rust - это многопарадигмальный язык программирования, ориентированный на производительность и безопасность, особенно на безопасный параллелизм. Rust синтаксически похож на C++, но обеспечивает безопасность памяти без использования сборки мусора.
Время выполнения- Deno также полагается на двигатель V8.
Безопасность - Распространенная критика Node.js заключается в том, что после запуска приложения узла оно может легко получить доступ к файловой системе или сети и т. д. В то время как Deno запрашивает у пользователя разрешение на использование ресурсов, таких как сеть, файловая система и т. д.
НПМ? - Deno вообще не полагается на NPM, вместо этого мы импортируем наши библиотеки через URL.
Пример:
> import { serve } from "https://deno.land/std/http/server.ts";
Вся библиотека, которую мы хотим использовать, сначала загружается, а затем кешируется.
Оптимизация ожидается в Deno в далеком будущем.