[英]Imported function is undefined
我对 ES6 有点陌生,所以我不完全确定我的问题是什么。
我有以下代码;
const isUsernameTaken = username => {
console.log(username);
}
exports = {
isUsernameTaken
}
它是由另一个文件导入的,就像这样;
import {isUsernameTaken} from "./Client"
但是,如果我尝试使用它,则会收到一条错误消息,指出 Object 不是函数。 如果我执行 console.log(isUsernameTaken),它会返回 undefined。 我不是 100% 确定问题是什么,在这里。
exports = {}
是错误的语法。 要创建默认/命名导出,请使用以下命令。
const isUsernameTaken = username => {
console.log(username);
}
export { isUsernameTaken }
然后您的导入应该按预期工作。
import { isUsernameTaken } from "./Client"
默认导出允许您取消语句中的{}
,如果您的模块只有一个导出,则应使用默认导出。
export default const isUsernameTaken = username => {
console.log(username);
}
然后像这样导入。
import isUsernameTaken from "./Client"
注意:注意缺少的{}
- 这仅适用于默认导出
作为参考,请参阅导出文档。
exports
是特定于 CommonJS 的。 相反,你应该做export { isUsernameToken };
.exports
变量也会被忽略,因为它的值没有被使用。 在这种情况下,您通常分配给module.exports
。这样做:
const isUsernameTaken = username => {
console.log(username);
}
export default isUsernameTaken;
然后像这样使用它:
import isUsernameTaken from "./Client"
希望这对你有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.