【发布时间】:2016-05-22 01:25:39
【问题描述】:
在 ES6 中使用导入导出时,出现以下错误:
SyntaxError: 出口声明只能出现在顶层
我上网查找如何解决此问题,但无法解决。任何人都可以对此进行解释。我是 ES6 新手,尤其是导入和导出。 (我完全使用 StealJS 来处理这种东西) 谢谢!
js 文件是:
app.js
import { cube, cubeRoot } from 'functions';
console.log(cube(4));
console.log(cubeRoot(125));
functions.js
// functions.js
function cube(a) {
return a * a * a;
}
function cubeRoot(a) {
return Math.cbrt(a);
}
export { cube, cubeRoot}
【问题讨论】:
-
functions是文件还是模块?也许你需要import {... } from './functions'? -
你确定你在某个地方没有一些不匹配的开括号吗?这是您的确切代码吗?你能告诉我们确切的设置以及你是如何编译它的吗?
-
这是整个错误信息吗?有行号吗?
-
我从hongkiat.com/blog/ecmascript-6 Point number 9-Modules 中关注了一个简单的例子。控制台中的错误消息 - SyntaxError: export declarations may only appear at top level export { cube, cubeRoot} functions.js (第 11 行,第 4 列)语法错误:导入声明只能出现在顶层 import { cube, cubeRoot } from 'functions'; app.js(第 3 行,第 4 列)