- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Duktape
进行 Android 和 JavaScript 绑定(bind)。
我按照此处的文档 https://wiki.duktape.org/HowtoModules.html 进行操作按照步骤,我有以下调用代码:
DuktapeContext::DuktapeContext(JavaVM* javaVM)
: m_context(duk_create_heap(nullptr, nullptr, nullptr, &m_context, fatalErrorHandler))
, m_objectType(m_javaValues.getObjectType(getEnvFromJavaVM(javaVM))) {
if (!m_context) {
throw std::bad_alloc();
}
duk_module_duktape_init(m_context); //<~~~ adds support for `require()`
// Stash the JVM object in the context, so we can find our way back from a Duktape C callback.
duk_push_global_stash(m_context);
duk_push_pointer(m_context, javaVM);
duk_put_prop_string(m_context, -2, JAVA_VM_PROP_NAME);
duk_pop(m_context);
}
duk_module_duktape_init
的定义如下(开箱即用,我没有编辑它):
/* Register `require` as a global function. */
duk_eval_string(ctx,
"(function(req){"
"var D=Object.defineProperty;"
"D(req,'name',{value:'require'});"
"D(this,'require',{value:req,writable:true,configurable:true});"
"D(Duktape,'modLoaded',{value:Object.create(null),writable:true,configurable:true});"
"})");
duk_push_c_function(ctx, duk__require, 1 /*nargs*/);
在我的 javascript
文件 sample.js
中,我有以下行:
var mod = require('tester');
当通过 Duktape 评估脚本时,会引发异常由以下原因引起:com.squareup.duktape.DuktapeException: TypeError: undefined not callable at JavaScript.eval
( require()
被调用)
我还必须实现 Duktape.modSearch()
函数吗?我以为我可以通过简单地使用 require()
来逃脱?
最佳答案
由于模块解析和加载取决于您需要自己实现的平台。 duktape 附带的模块处理仅处理管理加载的模块并提供 require
调用(您不需要自己提供此函数)。注册这 2 个函数很简单 (see also the entire code):
// Module loading support.
duk_push_object(_ctx);
duk_push_c_function(_ctx, resolveModule, JSExport::VarArgs);
duk_put_prop_string(_ctx, -2, "resolve");
duk_push_c_function(_ctx, loadModule, JSExport::VarArgs);
duk_put_prop_string(_ctx, -2, "load");
duk_module_node_init(_ctx, normalizeFilename);
实际的解析和加载代码涉及更多一些。可以看到完整代码in the scripting context class .
关于javascript - DukTape `require()` 抛出 `TypeError: undefined not callable`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54829325/
我只是有一个更琐碎的问题。 为什么undefined == undefined 返回true,而undefined >= undefined 为false? undefined 等于 undefine
用PHP 7.2编写套接字服务器。根据Firefox 60中的“网络”选项卡,服务器的一些HTTP响应的第一行随机变为undefined undefined undefined。因此,我尝试记录套接字
在 JavaScript 中这是真的: undefined == undefined 但这是错误的: undefined <= undefined 起初我以为<=运算符包含第一个,但我猜它试图将其转换
在回答这个问题 (Difference between [Object, Object] and Array(2)) 时,我在 JavaScript 数组中遇到了一些我以前不知道的东西(具有讽刺意味的
来自https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/of , Note: thi
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
当我添加 到我的 PrimeFaces Mobile 页面,然后我在服务器日志中收到以下警告 WARNING: JSF1064: Unable to find or serve resource, u
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我是一名优秀的程序员,十分优秀!