我写了一个名为module.js的Javascript模块,它执行以下操作
export default function myModule() {
return new Promise((resolve) => {
// do a bunch of stuff
});
};
我有以下Javascript代码test.js,它在module.js中使用myModule()
import {myModule} from "module";
myModule().then((retVal) => {
console.log(retVal);
});
不幸的是,我的浏览器控制台告诉我我有以下语法错误:
Uncaught SyntaxError: Unexpected identifier
控制台说test.js第1行的语法错误,但我看不出它有什么问题。任何见解都非常感谢。
答案 0 :(得分:2)
由于您只导入单个函数,因此应从导入中删除{}
。此外,您应该从“路径语法”更改为“路径语法”。
你应该最终得到这个:
import myModule from "./module";
答案 1 :(得分:0)
使用default
导出时,不要使用大括号`。试试这个:
import myModule from "module"
见这里:When should I use curly braces for ES6 import?
如上所述,如果要从项目中的文件而不是节点模块导入它,那么您将指定要从中导出的文件的路径。我在我的项目中测试了以下代码,并在控制台中收到了预期的结果test resolve
。如果这仍然不适合你,请告诉我。
<强> module.js 强>
export default function myModule() {
return new Promise((resolve) => {
// do a bunch of stuff
resolve('test resolve');
});
};
<强> index.js 强>
import myModule from "./module"; // Notice there are no braces (as we are exporting default) and that we are specifying the path
myModule().then((retVal) => {
console.log(retVal);
});
指定路径
./
将搜索您要导入的文件的当前目录。
../
将从您导入的文件中向上一级搜索目录
../../
将从您导入的文件