首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在添加" cordova -plugin-advanced-http“之后,”离子型cordova运行android“开始产生错误。

在添加" cordova -plugin-advanced-http“之后,”离子型cordova运行android“开始产生错误。
EN

Stack Overflow用户
提问于 2019-08-24 19:17:31
回答 1查看 350关注 0票数 0

在我添加插件cordova-plugin-advanced-http,之前,离子型cordova运行/构建 android运行良好,错误声明如下:

发生未处理的异常: D:\Projects\MyApp\myAppTest\www\plugins\cordova-plugin-advanced-http\www\helpers.js:意外保留字‘’(9:6)

代码语言:javascript
复制
   7 |   var validResponseTypes = ['text','arraybuffer', 'blob'];
   8 | 
>  9 |   var interface = {
     |       ^
  10 |     b64EncodeUnicode: b64EncodeUnicode,
  11 |     checkSerializer: checkSerializer,
  12 |     checkSSLCertMode: checkSSLCertMode,

日志文件如下所示:

(D:\Projects\MyApp\myAppTest\node_modules@babel\parser\lib\index.js:6325:17) at Parser.checkReservedWord (D:\Projects\MyApp\myAppTest\node_modules@babel\parser\lib\index.js:9556:12) at Parser.parseIdentifierName (D:\Projects\MyApp\myAppTest\node_modules@babel\parser\lib\index.js:9525:12) at Parser.parseIdentifier (D:\Projects\MyApp\myAppTest\node_ )( (D:\Projects\MyApp\myAppTest\node_modules@babel\parser\lib\index.js:7931:17) at Parser.parseVarId (D:\Projects\MyApp\myAppTest\node_modules@babel\parser\lib\index.js:10501:20) at Parser.parseVar (D:\Projects\MyApp\myAppTest\node_modules@babel\parser\lib\index.js:10477:12) )(D:\Projects\MyApp\myAppTest\node_modules@babel\parser\lib\index.js:10299:10) at Parser.parseStatementContent (D:\Projects\MyApp\myAppTest\node_modules@babel\parser\lib\index.js:9896:21) at Parser.parseStatement (D:\Projects\MyApp\myAppTest\node_modules@babel\parser\lib\index.js:9829:17) at Parser.parseBlockOrModuleBlockBody (D:\Projects\MyApp\myAppTest\node_modules@(D:\Projects\MyApp\myAppTest\node_modules@babel\parser\lib\index.js:10392:10) at Parser.parseBlock (D:\Projects\MyApp\myAppTest\node_modules@babel\parser\lib\index.js:10376:10) at Parser.parseFunctionBody (D:\Projects\MyApp\myAppTest\node_modules@babel\parser\lib\index.js:9424:24) at Parser(D:\Projects\MyApp\myAppTest\node_modules@babel\parser\lib\index.js:9394:10) at withTopicForbiddingContext (D:\Projects\MyApp\myAppTest\node_modules@babel\parser\lib\index.js:10535:12)

我已经看到指定位置下的helper.js文件,它实际上包含了导致问题的单词接口,因为接口是保留字。

在运行build命令之前,我尝试过包括删除node_modules和重新安装它们在内的所有内容,在运行build命令之前,我删除了插件平台文件夹,但这些文件夹对我来说都没有用。

一旦我删除cordova-plugin-advanced-http插件,离子型cordova运行/构建就开始正确地构建该项目。

EN

回答 1

Stack Overflow用户

发布于 2019-08-25 07:02:30

问题是,interface是一个未来的保留词:

说到底,是个窃听器。cordova-plugin-advanced-http开发人员并没有预料到这会在严格的设置下通过babel来执行这个限制。

看来你有两个选择:

  • 让开发人员重构该变量名/使用重构进行自定义编译该包
  • 查看您的babel设置,找出一种设置不那么严格的传递溢出设置的方法。

对于第二个选项,我发现了一些有趣的讨论,通过搜索babel parser reserved word interface,而不是试图搜索任何与Ionic或Cordova相关的内容。不过,我不太清楚您需要更改的设置是什么。

但是,通过一些研究,您似乎可以在.babelrc文件中添加一个插件,该插件将自动重命名使用保留字的变量:

它的推荐用法是:

代码语言:javascript
复制
npm install --save-dev @babel/plugin-transform-reserved-words

然后添加到您的.babelrc插件部分:

代码语言:javascript
复制
{
  "plugins": ["@babel/plugin-transform-reserved-words"]
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57640896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档