为什么 import/export 语句不起作用?
Why is import/export statement not working?
所以我有这两个文件:
foo1
const a = 2;
export {a};
和
foo2
import a from "./foo1.js";
console.log(a);
两个文件都已成为模块文件 html:
<script src='./scripts/foo2.js' type='module'></script>
<script src='./scripts/foo1.js' type='module'></script>
脚本一运行就会抛出这个错误:
Uncaught SyntaxError: The requested module './foo2.js' does not provide an export named 'default'
您导入的方式仅适用于默认 export/import。
因此,您可以通过两种方式修复代码:
- 更改导入语句
import a from "./foo1.js";
(不使用默认导出)
- 更改导出语句
export default a;
然后在导入时你可以做任何事情,因为默认导出仍然是 a
:
import a from "./foo1.js";
import aWithNewName from "./foo1.js";
如果您要从 foo1
导出,则无需添加两个 js 文件,您只需添加要导入的文件。试试这个方法:
// foo1.js
export const a = 2;
// foo2.js
import { a } from "./foo1.js";
console.log(a);
<script src='./scripts/foo2.js' type='module'></script>
所以我有这两个文件:
foo1
const a = 2;
export {a};
和
foo2
import a from "./foo1.js";
console.log(a);
两个文件都已成为模块文件 html:
<script src='./scripts/foo2.js' type='module'></script>
<script src='./scripts/foo1.js' type='module'></script>
脚本一运行就会抛出这个错误:
Uncaught SyntaxError: The requested module './foo2.js' does not provide an export named 'default'
您导入的方式仅适用于默认 export/import。 因此,您可以通过两种方式修复代码:
- 更改导入语句
import a from "./foo1.js";
(不使用默认导出)
- 更改导出语句
export default a;
然后在导入时你可以做任何事情,因为默认导出仍然是 a
:
import a from "./foo1.js";
import aWithNewName from "./foo1.js";
如果您要从 foo1
导出,则无需添加两个 js 文件,您只需添加要导入的文件。试试这个方法:
// foo1.js
export const a = 2;
// foo2.js
import { a } from "./foo1.js";
console.log(a);
<script src='./scripts/foo2.js' type='module'></script>