cordova - 在 Cordova/Phonegap/Webpack 应用程序中:Uncaught ReferenceError: argscheck is not defined
问题描述
我正在构建我使用创建的 phonegap 应用程序
phonegap create MyApp --template blank
然后后来添加了 Webpack 以将 Typescript 源构建到www
目录中。
我现在正在尝试使用Media
我使用命令添加的插件
phonegap plugin add cordova-plugin-media
我正在尝试通过导入从我的 Typescript 源中使用它
import * as Media from 'cordova-plugin-media/www/Media';
然后使用
test() {
var sound = new Media('cdvfile://localhost/www/woopwoop.mp3', ()=>{});
sound.play();
}
当应用程序运行时,它会出错:
Uncaught ReferenceError: argscheck is not defined
at Object.cordova/argscheck (argscheck":1)
at __webpack_require__ (bootstrap:19)
at Object../node_modules/cordova-plugin-media/www/Media.js (Media.js:22)
at __webpack_require__ (bootstrap:19)
发生这种情况是因为新添加的媒体插件包含:
var argscheck = require('cordova/argscheck'),
utils = require('cordova/utils'),
exec = require('cordova/exec');
因此 webpack 试图解决这些 require 语句。
我已经确定这argscheck
是在phonegap正在生成和提供的文件中定义的一块cordova.js
,在Chrome中我可以看到它cordova.js
包含:
// file: src/common/argscheck.js
define("cordova/argscheck", function(require, exports, module) {
但是由于 webpack 没有将其作为源之一进行处理,因此 webpack 不知道如何解析导入。
鉴于这cordova.js
似乎是一个构建文件本身,我如何让 webpack 知道它的内容,以便解决插件导入及其依赖关系?
解决方案
推荐阅读
- java - 在消费期间记录 InputStream
- r - 使用动态网络可视化更改节点颜色
- flutter - 如何在颤振上使用 ARCore 测量对象
- reactjs - Kenburns 影响未定义的错误 - React Native
- karate - 空手道如何使用 if 条件附加参数
- opencv - 使用 pytesseracct 将图像转换为文本
- react-hooks - 如何在容器左上角部署 React-multi-carousel 点按钮组
- java - Apache Spark:使数据集上的多列 groupBy 与分区一起使用
- javascript - 在 nextjs 应用程序的父元素上显示:none 时不会调用 React 组件吗?
- python - 使用 Python 将 JSON 转换为 CSV 并合并对象