【问题标题】:'import' and 'export' may appear only with 'sourceType: "module"' (16:0)'import' 和 'export' 可能只出现在 'sourceType: "module"' (16:0)
【发布时间】:2020-01-01 07:46:37
【问题描述】:

背景

我正在使用 docusaurus ^1.14.0。我只使用 React。在我的pages 中,我尝试通过使用基本import 语句从另一个文件导入组件来分离组件。但是,当我尝试yarn start 时,出现以下错误:

'import' and 'export' may appear only with 'sourceType: "module"' (16:0)

已经尝试过

我认为 babel 已经在 docusaurus 的官方 GitHub 存储库中设置了,所以我希望它可以在 es2015+ 语法上正常工作,而它没有。

文件

1. package.json

{
  "scripts": {
    "examples": "docusaurus-examples",
    "start": "docusaurus-start",
    "build": "docusaurus-build",
    "publish-gh-pages": "docusaurus-publish",
    "write-translations": "docusaurus-write-translations",
    "version": "docusaurus-version",
    "rename-version": "docusaurus-rename-version"
  },
  "devDependencies": {
    "docusaurus": "^1.14.0"
  },
  "license": "BSD-3-Clause"
}

那么,我该如何解决这个问题?

【问题讨论】:

  • 你是否使用 webpack 和 babel 进行编译和构建?
  • 感谢您的回答。我将编辑问题以添加我的package.json。我当然知道我必须为此配置 babel 或 wepack/babel-loader。但是在 docusaurus 的上下文中,我当然不知道如何配置它们并在浏览器上提供它们。
  • 谢谢,研究发现这可能有效。然而 docusaurus 没有办法做到这一点。他们有抽象的服务脚本,只有通过他们在 GitHub 上的源代码才能清楚。此解决方案在其他情况下也可以完美运行。

标签: javascript reactjs docusaurus


【解决方案1】:

Babel 和 webpack 仅在 Docusaurus 2 中使用。您使用的是 Docusaurus 1,它不使用 Babel,仅使用 Node.js 环境,因此默认情况下您只能使用 CommonJS require()s。我建议您查看Docusaurus 2,以便您可以使用现代 JavaScript 设置。

【讨论】:

    猜你喜欢
    • 2017-05-16
    • 2017-04-23
    • 1970-01-01
    • 2017-02-23
    • 2017-10-06
    • 1970-01-01
    • 2016-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多