【问题标题】:Javascript Module error SyntaxError: Cannot use import statement outside a moduleJavascript模块错误SyntaxError:无法在模块外使用导入语句
【发布时间】:2020-02-11 03:03:34
【问题描述】:

我正在尝试测试简单的export importsample。

//file   a.js

export const a = 2

//file   b.js

import {a} from './a.js'


console.log(a);

但它显示错误

从 './a.js' 导入 {a}

^^^^^^

SyntaxError: 不能在模块外使用 import 语句

我用 vscode 来测试一下。

a.js 和 b.js 在同一个文件夹中。

我不知道。

【问题讨论】:

  • 如何加载 b.js ?它来自浏览器中的网页吗?它是否在 node.js 中运行服务器端?
  • 在 vscode node.js 中运行

标签: javascript


【解决方案1】:

如果您使用浏览器,请尝试@karma Blackshaw 的回答。如果您使用的是节点,请将 "type": "module" 添加到您的 package.json 中。 或者您可以将 .js 文件的扩展名更改为 .mjs 并使用--experimental modules 标志运行

a.mjs

//file   a.mjs

export const a = 2

b.mjs:

import {a} from './a.mjs'


console.log(a);

并使用 :

运行
node --experimental-modules b.mjs

Read docs

【讨论】:

    【解决方案2】:

    我通过执行以下操作解决了这个问题:

    在浏览器中使用 ES6 模块时,请在文件中使用 .js 扩展名,并在脚本标签中添加 type = "module"

    【讨论】:

    • 可以在vscode中运行javascript node.js吗?它仍然显示相同的错误。我在 Chrome 中尝试你的方式,它的工作!
    • 是的。您可以在当前目录中打开命令行并输入 node index.js 或任何您的文件名
    • This 会让你领先一步
    猜你喜欢
    • 2021-07-08
    • 2023-02-08
    • 2021-10-06
    • 1970-01-01
    • 1970-01-01
    • 2022-08-14
    • 1970-01-01
    • 2021-10-02
    • 2021-02-21
    相关资源
    最近更新 更多