繁体   English   中英

使用es6导入未定义erorr

[英]import is not defined erorr using es6

我尝试在这里遵循教程。 我已经安装了通天塔,但是我无法检测到我在下面犯了什么错误

sum.js

export default sum = (a, b) => {
    return a + b;
}

sum.test.js

import sum from './sum';

test('1 + 2 should equal to 3', () => {
    expect(sum(1,2)).toBe(3);
});

错误是sum未在sum.test.js中定义。 2个文件放置在同一级别的目录中。

我认为,问题是您忘记在sum.js定义sum ,应sum.js编写:

let sum;
export default sum = (a, b) => {
    return a + b;
}

要么

let sum = (a, b) => {
    return a + b;
}

export default sum;

注意 :如果使用default export ,则可以删除名称,因为default export每个文件只有一个。 导入时,您可以使用任何名称,例如:

import ABC from './sum';

更新

定义函数有两种方法:

1: function sum(){}
2: var sum = function(){}

因此,如果您使用第一个,然后直接将其导出(无需定义):

export default sum(){}

但是如果使用第二个,则需要定义变量,因为您将函数定义存储在该变量中:

let sum;

export default sum = () => {}

要么

let sum = () => {}

export default sum;

检查本文: https : //danmartensen.svbtle.com/build-better-apps-with-es6-modules

您需要在出口中使用之前声明总和

像var sum;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM