Как создать собственный образ node.js с помощью GraalVM - PullRequest
0 голосов
/ 12 декабря 2018

Я пытаюсь создать собственный образ из простого приложения node.js example.js.

При запуске приложения с:

 node --native -i --native example.js

приложение запускается и работаеткак и ожидалось.

Теперь я хотел бы создать собственное изображение.Я попробовал следующую команду:

 native-image --language:js example.js

, однако она не работает из-за ошибки:

Build on Server(pid: 77626, port: 64052)
[example.js:77626]    classlist:   3,964.04 ms
error: Main entry point class 'example.js' not found.
Error: Processing image build request failed

В качестве разрешения я создал основную точку входа в example.js, такую ​​как:

function main(args) {
  console.log("Main app started")
}

однако это не работает.

Есть ли способ обычно создавать собственные изображения для приложений js / node.js?

1 Ответ

0 голосов
/ 12 декабря 2018

Нет.В настоящее время по состоянию на декабрь 2018 года создание собственных образов GraalVM для приложений node.js невозможно.Утилита родного изображения берет Java-байт-код и компилирует его заранее.Движок GraalVM JavaScript является Java-программой и может быть скомпилирован как собственный образ.Это то, что вы фактически запускаете, когда выполняете $GRAALVM_HOME/bin/js.Он по-прежнему загружает JavaScript во время выполнения, интерпретирует и точно компилирует его в машинный код.

Реализация узла GraalVM - это обычное node, нативное приложение, с движком JavaScript, замененным на движок GraalVM.

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

...