📌  相关文章
📜  从(“节点获取”)导入获取; ^^^^^^ SyntaxError: Cannot use import statement outside a module - Javascript (1)

📅  最后修改于: 2023-12-03 15:21:54.606000             🧑  作者: Mango

从("节点获取")导入获取 - Javascript

如果你曾经看到过以下错误消息

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

在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中导入模块。