【问题标题】:Decorators problem: experimental syntax 'decorators-legacy' isn't currently enabled装饰器问题:当前未启用实验性语法 'decorators-legacy'
【发布时间】:2020-11-30 03:33:41
【问题描述】:

我是一个非常 gatsbyjs 的初学者。 我有一个从“hello word”启动器生成的非常简单的站点。 我添加了 gatsby-plugin-sass 和 bootstrap。 当我写的时候在我的 index.js 中 @import "~bootstrap/scss/bootstrap.scss";

我得到 /src/pages/index.js:目前未启用对实验性语法“decorators-legacy”的支持 (4:1)

怎么了?

【问题讨论】:

  • 你在使用 TypeScript 启动器吗?
  • 不,最简单的 gatsby-starter-hello-world

标签: reactjs sass gatsby


【解决方案1】:

您应该启用proposal-decorators。要在 Gatsby 中实现这一点,首先,你必须安装 Babel 插件:

npm install --save-dev @babel/plugin-proposal-decorators

注意:如果使用 Yarn,请更改为 yarn add @babel/plugin-proposal-decorators

然后,在项目的根目录中添加.babelrc 并添加以下行:

{
    "presets": ["@babel/preset-env"],
    "plugins": [
        ["@babel/plugin-proposal-decorators", { "legacy": true }],
    ]
}

如果您已经在使用自定义 Babel 配置,您只需在插件部分添加 ["@babel/plugin-proposal-decorators", { "legacy": true }]

【讨论】:

  • 谢谢,但是......现在命令“gatsby develop”以这种方式失败:pages/index.js: import 只能在 import() 或 import.meta (4:1) 中使用
  • 第4行是:@import "~bootstrap/scss/bootstrap.scss";
  • JavaScript 中的导入不允许 @。如果您正在导入一个简单的 .scss 文件,您的导入应该类似于 import 'boostrap/scss/boostrap.scss'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-15
  • 2020-01-07
  • 2021-02-09
  • 2019-06-17
  • 2020-11-10
相关资源
最近更新 更多