| 
 Статью не открывал, но чтоб перейти в ноде с require на import достаточно в package.json дописать "type": "module", остальное лирика.) noveek, ну и скобочки куда ни попадя пихать не надо. Просто 
import { books } from "./module1.js";
 | 
| 
 Пока ничего не помогло единственное вот так: 
import ("./module1.js");
Выдаёт: [object Promise] | 
| 
 noveek, ты с упорством носорога делаешь совсем не то... Почитай хоть статьи про работу с модулями... Ссылки я тебе дал. Да и тут уже много чего уже написали. | 
| 
 Цитата: 
 | 
| 
 Цитата: 
 Не помогло "type": "module" в package.json? Цитата: 
 https://developer.mozilla.org/ru/doc...BE%D1%80%D1%82 | 
| 
 Цитата: 
 https://www.winsoft.sk/jsengine.htm Из под него уже пытаюсь импортировать модули .js извините следовало сразу обрисовать всю ситуацию ) В свою очередь он использует ChakraCore https://github.com/chakra-core/ChakraCore То есть скрипт из под Delphi выглядит так сейчас: 
procedure TForm1.Button1Click(Sender: TObject);
var
  MyObject: JsValueRef;
  Result: JsValueRef;
begin
try
Engine := TJSEngine.Create;
Memo1.Lines.Text:=Engine.ConvertToString(Engine.RunScript('import ("./module1.js");'));
except
on E: Exception do
ShowException(Memo2, E);
end
Engine.Free;
end;
 | 
| 
 Хз, если тебе пишет что незя использовать import - это одно, значит надо заставить твою хрень как-то воспринимать скрипт как модуль, консольная версия chakracore при беглом взгляде по issue вроде может это с параметром -es6module, как оный задать в твоей приблуде - хз, сам смотри. Если же у тебя нормально запускаются скрипты с import - вопросы иной: import "file.js"; в начале файла - импортировать простой скрипт(не модуль) в начале модуля. import some from "file.js"; в начале файла - импортировать конкретное экспортированаое начение из модуля. import("file.js") в любом месте - асинхронно запросить модуль и вернуть Promise разрешающийся в объект с экспортируемыми модулем значениями. Как работать с асинхронными операциями - опять же - тебе самому разбираться. | 
| 
 Цитата: 
 Message: 'window' is not defined Я понимаю что объект пустой так как я запускаю не через браузер, а вот чем заменить не понимаю пока: Memo1.Lines.text:=StringReplace(Memo1.Lines.text, 'window', 'Object',[rfReplaceAll, rfIgnoreCase]); Строка в скрипте например так идёт: var hasStrongCrat = 'crat' in window && window['crat'] !== null; | 
| 
 this / global Если и этого нет, то можно в начале самому задать и не париться особо: window = {}; Цитата: 
 | 
| 
 Цитата: 
 https://www.winsoft.sk/download/jsenginedemo.zip там работает так просто в окно вписываешь скрипт нажимаешь кнопку Run =) | 
| Часовой пояс GMT +3, время: 07:57. |