导入javascript模块
我编写了一个名为module.js的Javascript模块,它执行以下操作导入javascript模块,javascript,es6-modules,Javascript,Es6 Modules,我编写了一个名为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
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行显示语法错误,但我看不出有什么问题。任何洞察都是值得赞赏的 因为您只导入一个函数,所以应该从导入中删除
{}
。此外,还应将从、更改为“路径语法”。
您应该以以下方式结束:
import myModule from "./module";
使用
default
导出时,不使用大括号“”。请尝试以下方法:
从“模块”导入myModule
请看这里:
编辑
如前所述,如果要从项目中的文件而不是节点模块导入此文件,则需要指定导出文件的路径。我已在我的项目中测试了以下代码,并在控制台中收到了预期结果test resolve
。如果这对你仍然不起作用,请告诉我
module.js
export default function myModule() {
return new Promise((resolve) => {
// do a bunch of stuff
resolve('test resolve');
});
};
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);
});
index.js
export default function myModule() {
return new Promise((resolve) => {
// do a bunch of stuff
resolve('test resolve');
});
};
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);
});
指定路径
/
将在导入文件的当前目录中进行搜索
。/
将从要导入的文件中搜索一级目录
。/../
将从您正在导入的文件中向上搜索两级目录什么是“test.js”?您是否正确设置了babel
或webpack
?也许您的浏览器不知道导入现在我得到了:未捕获的语法错误:意外的标识,再次指出,错误的来源是test.jstest.js是我原始邮件中的第二个代码块,这就是我要求您更改的内容。还请注意,您需要使用MBehamm提到的路径语法,我没有包括这一点,以防直接从节点模块导入。请参阅导入路径中带有/
的更新代码。