LeviLamina
LeviLamina copied to clipboard
ESM support in Node.Js (`import` statements)
Exceptions module
ScriptEngine
Operating System
Windows Server 2022
LiteLoader version
3169bad Private Build
BDS version
1.19.10
What happened?
Cannot use any import
statement in plugins.
Steps to reproduce?
Create a nodejs plugin with import statements and run bds
Relevant log output
node:embedder_main_0:7
import {rename} from 'fs';
^^^^^^
[SyntaxError: Cannot use import statement outside a module]
Plugin list
No response
解决方案:https://blog.csdn.net/sinat_36521655/article/details/109863364 这貌似不是llse的问题,在一般的nodejs环境中也会发生 只需要创建package.json文件指明type类型为module即可解决
解决方案:https://blog.csdn.net/sinat_36521655/article/details/109863364 这貌似不是llse的问题,在一般的nodejs环境中也会发生 只需要创建package.json文件指明type类型为module即可解决
非也非也,由于LLSE自行编写了NodeJs的启动代码以使其能够嵌入式运行,因此此问题是启动代码由于尚未对ESM做适配而导致。 修改package.json并不有效,因为自行编写的NodeJs启动代码目前仅对入口点文件这一参数进行了解析,以及npm会使用dependency参数,其他的参数还没有进行解析处理,需要等待后续更新的时候再进行功能拓展
目前查遍了互联网,未发现有 支持ESM的自行编写启动代码的相关示例。可能需要深入研究NodeJs源码进行模仿,难度较大,所以暂未实现,等待后续更新