【问题标题】:Cordova Uncaught TypeError: Cannot set property 'require' of undefinedCordova Uncaught TypeError:无法设置未定义的属性“要求”
【发布时间】:2015-03-18 17:13:01
【问题描述】:

全部,

您能帮我关注一下吗?我正在尝试使用 cordova 访问相机 API。我已经使用cordova cli创建了项目。我的 config.xml 添加了此选项以允许使用 cordova cli 安装的相机插件。

<feature name="Camera">
<param name="android-package" value="org.apache.cordova.camera.CameraLauncher" />
</feature>

当我单击相机按钮时,我发现 navigator.camera 对象未定义。我已经在几部手机上尝试过,似乎是同样的问题。我尝试使用 chrome 进行远程调试,它还将相机对象显示为未定义。

Cordova.js 加载失败,以下对象未定义

未捕获的类型错误:无法设置未定义的属性 'require' (cordova.js)

//Export for use in node
if (typeof module === "object" && typeof require === "function") {
  module.exports.require = require;
  module.exports.define = define;
 }

Cordova.js 版本是 3.7.1。

请注意:在 platform_www 中从 Cordova.js 中评论这 3 行似乎可以解决问题。但我想知道是否有人可以帮助建议这里有什么问题。修改库是最后的选择。

【问题讨论】:

    标签: android cordova cordova-3


    【解决方案1】:

    问题可能在于声明了一个名为 module 的变量,在我的例子中是

    var module = ons.bootstrap('my-app', ['onsen']);
    

    只需用别的东西重命名模块。

    【讨论】:

      【解决方案2】:

      如果没有适当的工具,您将无法在浏览器上测试混合应用。使用波纹 chrome 扩展来测试您的应用。

      https://chrome.google.com/webstore/detail/ripple-emulator-beta/geelfhphabnejjhdalkjhgipohgpdnoc?hl=en

      【讨论】:

      • 谢谢,但正如我所说,这发生在电话上。我在 chrome 中将 cordova 远程调试为 webview 以查看问题(使用 chrome://inspect 并在 USB 调试中连接手机)。不调试也使用应用程序中的警报日志显示相同的错误。
      猜你喜欢
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-25
      • 1970-01-01
      • 1970-01-01
      • 2015-09-09
      • 2021-01-04
      相关资源
      最近更新 更多