如何修复 babel 意外的保留字“接口”错误
Posted
技术标签:
【中文标题】如何修复 babel 意外的保留字“接口”错误【英文标题】:How to fix babel Unexpected reserved word 'interface' error 【发布时间】:2021-09-06 12:00:15 【问题描述】:我想使用 babel 在 gulp 中转译纯 js 代码。但是我的代码中有一个变量“接口”。例如
function func(interface)
console.log(interface)
我该如何解决这个问题?
软件包版本
"@babel/core": "^7.14.6",
"@babel/preset-env": "^7.14.5",
"gulp": "^4.0.2",
"gulp-babel": "^8.0.0",
我的任务
function transpileJs()
return gulp.src(['folder/**/*.js'])
.pipe(babel(
presets: ['@babel/preset-env'],
))
.pipe(gulp.dest('folder/dest/'));
错误
感谢您的帮助
【问题讨论】:
接口是 javascript 中的 reserved word。您不能将其用作变量名。 【参考方案1】:“接口”一词在“严格模式”中是保留的。这就是为什么你不能用它作为标识符来声明任何变量或函数参数。
重命名函数参数,问题就会消失。
【讨论】:
【参考方案2】:ES6 有一个隐含的“strict mode”,因此,通过 babel 运行代码后,您将始终在程序中添加 "use strict";
。
现在“接口”是reserved keyword as of ECMAScript 2015,如果你使用任何保留关键字作为参数或变量名,它会抛出错误。
【讨论】:
以上是关于如何修复 babel 意外的保留字“接口”错误的主要内容,如果未能解决你的问题,请参考以下文章
对打字稿文件语法错误的开玩笑测试:“接口是严格模式下的保留字”