--allow-wasi


稳定性: 1.1 - 处于活跃开发中

在使用 权限模型 时,该进程默认无法创建任何 WASI 实例。出于安全原因,除非用户在主 Node.js 进程中显式传递 --allow-wasi 标志,否则调用将抛出 ERR_ACCESS_DENIED

【When using the Permission Model, the process will not be capable of creating any WASI instances by default. For security reasons, the call will throw an ERR_ACCESS_DENIED unless the user explicitly passes the flag --allow-wasi in the main Node.js process.】

示例:

【Example:】

const { WASI } = require('node:wasi');
// Attempt to bypass the permission
new WASI({
  version: 'preview1',
  // Attempt to mount the whole filesystem
  preopens: {
    '/': '/',
  },
}); 
$ node --permission --allow-fs-read=* index.js

Error: Access to this API has been restricted
    at node:internal/main/run_main_module:30:49 {
  code: 'ERR_ACCESS_DENIED',
  permission: 'WASI',
}