npm install dvb核心类:vm.SourceTextModule 类
新增于: v9.6.0
稳定性: 1 - 实验
此特性仅在启用 --experimental-vm-modules 命令标志时可用。
_在构建的时候index.mjs或被重写,所以尽量不要在index.mjs里面开发_
_编译文件操作.mjs文件编译成.bjs_
_config.mjs会被私钥加密,编译后会用公钥解密后使用,所以可以将授权等信息逻辑放在里面。_
编译环境和运行环境的nodejs版本最好一致。
编译
``
`
import {build} from 'dvb'
build('./main.mjs') // 入口文件
`
>node --experimental-vm-modules build.mjs
`
root ┳ dist ┳ index.mjs // 被重写生成的入口文件
┃ ┇ public.key // 用于解开被加密的config.bjs文件
┃ ┇ .bjs // .mjs编译生成对于的文件
┃ ┗ . // 未被编译直接复制过来的文件
┣ node_modules // 忽略
┣ build.mjs // 忽略,所以这个适合写构建文件
┣ index.mjs // 会被重写所以别用这个文件
┣ config.mjs // 会被加密
┣ private.key // 没有会自动生成,但不会被移动到dist
┣ public.key // 没有会自动生成
┇ .mjs // 会被编译成.bjs放在dist目录下对应的原目录结构下
┗ . // 会被移动到dist目录下对应的原目录结构下
`
dist直接作为根目录执行index.mjs
>node --experimental-vm-modules index.mjs
开发模式注解
``
let env = 'prod'
// IF DEV
env = 'dev'
// END DEV
// 编译前:env === 'dev'
// 编译后:env === 'prod'