Node.js: 如何在 C++ 中创建 ES6 模块
Node.js: How to create ES6 module in C++
这是在 C++ 中创建 Node.js 插件的旧示例:
https://nodejs.org/api/addons.html
可以用node-gyp构建成一个普通的JS模块,配合function 'require'使用效果很好。但是编译后的模块无法在.mjs文件中导入。
这很好用:node test.js
// test.js
var m = require("./build/Release/addon");
console.log(m.hello());
这不是:node --experimental-modules test.mjs
// test.mjs
import * as m from "./build/Release/addon";
console.log(m.hello());
错误是:Error [ERR_MODULE_NOT_FOUND]: Cannot find module
那个 C++ 插件示例页面是针对旧 Node.js 和普通 JS 的,是否有任何 C++ 插件示例可以构建为 ES6 模块以导入 .mjs 文件?
节点does not currently support loading native modules with import
syntax.
在 ESM 文件中,您需要执行以下操作:
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const m = require('./build/Release/addon');
console.log(m.hello());
这是在 C++ 中创建 Node.js 插件的旧示例:
https://nodejs.org/api/addons.html
可以用node-gyp构建成一个普通的JS模块,配合function 'require'使用效果很好。但是编译后的模块无法在.mjs文件中导入。
这很好用:node test.js
// test.js
var m = require("./build/Release/addon");
console.log(m.hello());
这不是:node --experimental-modules test.mjs
// test.mjs
import * as m from "./build/Release/addon";
console.log(m.hello());
错误是:Error [ERR_MODULE_NOT_FOUND]: Cannot find module
那个 C++ 插件示例页面是针对旧 Node.js 和普通 JS 的,是否有任何 C++ 插件示例可以构建为 ES6 模块以导入 .mjs 文件?
节点does not currently support loading native modules with import
syntax.
在 ESM 文件中,您需要执行以下操作:
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const m = require('./build/Release/addon');
console.log(m.hello());