【发布时间】:2019-10-04 12:11:08
【问题描述】:
我有一个主文件“index.js”,我想在另一个 js 文件中导入和使用其中的函数。
我尝试使用 require 导入文件,但没有成功。有人可以帮助我提供建议吗?
Index.js,
function dcLib() {
function test() {
console.log('Hi');
}
return {
test:test
}
};
export default dcLib;
column.js,
const dcLib = require('../index');
dcLib.test()
上面的代码给出了错误
TypeError: dcLib.test is not a function
【问题讨论】:
-
function dcLib {- 这是无效的语法 - 你需要function dcLib() {然后当你做dcLib.test()你仍然需要执行函数 -dcLib().test() -
Function
dcLib是一个函数,当被调用时返回一个对象,该对象具有一个函数的属性。你永远不会调用dcLib,它本身没有test属性。 -
@VLAZ 抱歉打错了,编辑了。我试过像你说的那样仍然显示错误,因为 dcLib().test() --->dcLib 不是函数
-
deceze 应该是什么解决方案
-
@pleasent 这在很大程度上取决于您使用的转译器。默认导出会根据许多情况改变其导入行为。在你的情况下,你可能应该做
dcLib.default().test()。如果你想要那种要求,你应该导出一个未命名的函数。你可以在这里玩,如果你想:stackblitz.com/edit/js-3wwz8a
标签: javascript function ecmascript-6 mean