我正在使用 Duktape 嵌入 JavaScript,但使用require总是会导致错误:
int main(){
duk_context *ctx = duk_create_heap_default();
duk_peval_file(ctx, "example.js");
printf("file load err %s", duk_safe_to_string(ctx, -1));
duk_destroy_heap(ctx);
}
Run Code Online (Sandbox Code Playgroud)
例子.js
var mylib = require("mylib")
print (mylib.hello)
Run Code Online (Sandbox Code Playgroud)
mylib.js
exports.hello = "Hello"
Run Code Online (Sandbox Code Playgroud)
错误:
文件加载错误类型错误:不可调用
堆栈转储 说:
duk_js_call.c:682
需要本机严格的preventyield
eval example.js:1 preventyield