是否能把JS打包成单个的二进制文件,类似于.net里的DLL

是否能把JS打包成单个的二进制文件,类似于.net里的DLL,比如登录模块和人员管理分别打成不同的包,这样就可以只做模块更新了

deno compile | 手册 | Deno (denoland-cn.deno.dev)

compile 是把整个项目打成一个EXE。我想要的是一个主EXE和n个"dll"组成一个项目

edge-js - npm (npmjs.com)

Deno目前使用v8 snapshot实现二进制打包,snapshot实际上就是一个v8 isolate的heap dump。v8本身就没有binary distribution的概念,除非你准备通过多个isolate间通信的方式来实现插件系统,但是我感觉no reasonable person would do this :man_shrugging:

如果不要求一定要是二进制文件的话, 其实主 EXE 用 deno compile 打包就好了, 别的 DLL 其实就直接用 JS 文件就好了, 在运行时通过 import('./xxx.js') 的方式引入. 如果需要把多个 JS 文件打包成一个 JS, 也可以通过 Rollup 来实现.