【发布时间】:2022-07-13 23:10:44
【问题描述】:
这是使用 'use strict' javascript,所以它不会像未声明的变量那样松懈。我的代码如下所示:
'use strict';
angular.module('myApp').factory('factoryName', function(){
var plugins = cordova.require('cordova/plugin_list').metadata;
...
});
我遇到的问题是变量cordova 仅在某些时候被定义,如果不是,这会导致运行时错误。当我的应用程序在使用 cordova 的移动设备上构建 + 运行时,cordova 显然已定义,因此它运行良好 - 但它也可以在没有 cordova 的浏览器上运行,这会在上面的代码块运行时导致崩溃。
有没有办法解决这个问题?喜欢在使用之前检查cordova 是否已声明?问题是抛出的错误来自未声明的变量,而不是来自读取未定义的属性,因此执行if (cordova) {...} 仍然会失败。或者有没有其他方法可以使用cordova而不像这样引用它?
【问题讨论】:
标签: javascript cordova