📅  最后修改于: 2023-12-03 15:21:54.606000             🧑  作者: Mango
如果你曾经看到过以下错误消息
SyntaxError: Cannot use import statement outside a module
那么你可能正在尝试在不兼容的环境中使用ES6的模块导入。
import
语句用于将一个或多个导出,从一个模块导入到当前模块。它的基本语法如下:
import defaultMember from "module-name";
import { member } from "module-name";
import { member1, member2 as aliasName } from "module-name";
import { member1, member2, ... } from "module-name";
import * as aliasName from "module-name";
import defaultMember, * as aliasName from "module-name";
import defaultMember, { member1 as aliasName1, member2 } from "module-name";
在CommonJS中,你会看到与ES6模块相似的语法:
const module = require('module-name')
但是请注意,这并不是ES6模块。在CommonJS中,模块加载是同步的,而在ES6模块中是异步的。
要在浏览器中使用ES6模块,请将type="module"
添加到<script>
标签中。
<script type="module" src="main.js"></script>
在Node.js环境中,你可以像这样将文件扩展名更改为.mjs
:
// index.mjs
import { myFunction } from './myModule.mjs';
myFunction();
运行此文件:
node --experimental-modules index.mjs
现在,你应该理解如何在Javascript中使用ES6模块。记得使用import
语句导入模块,或者使用require()
函数在CommonJS中导入模块。