Javascript Now.sh构建中断,原因是:当前未启用对实验语法“decorators legacy”的支持 预期:

Javascript Now.sh构建中断,原因是:当前未启用对实验语法“decorators legacy”的支持 预期:,javascript,reactjs,decorator,babeljs,next.js,Javascript,Reactjs,Decorator,Babeljs,Next.js,在我的tsconfig.js中添加decko对decorators的支持,以及对experiMetaldeCorators的支持,并在package.json中使用@babel/plugin建议decorators之后 在创建PR后,我的构建应该可以很好地构建和部署,这也是因为应用程序在本地运行得非常好 结果: 生成实际上中断,出现以下错误: 当前未启用对实验语法“decorators legacy”的支持 公共关系: 建造: 实际上,我在本地也遇到了同样的错误,但是我通过添加@babel/pl

在我的tsconfig.js中添加decko对decorators的支持,以及对experiMetaldeCorators的支持,并在package.json中使用@babel/plugin建议decorators之后

在创建PR后,我的构建应该可以很好地构建和部署,这也是因为应用程序在本地运行得非常好

结果: 生成实际上中断,出现以下错误:

当前未启用对实验语法“decorators legacy”的支持

公共关系:

建造:

实际上,我在本地也遇到了同样的错误,但是我通过添加@babel/plugin Proposition decorators包并更新我的package.json修复了它,如下所示:

"babel": {
    "env": {
      "development": {
        "presets": [
          "next/babel"
        ],
        "plugins": [
          [
            "styled-components",
            {
              "ssr": true,
              "displayName": true
            }
          ],
          [
            "@babel/plugin-proposal-decorators",
            {
              "legacy": true
            }
          ]
        ]
      },
我还尝试将babel配置移到.bablerc文件中,但我的构建仍然中断


我刚刚弄明白,我需要将插件添加到我的配置的生产部分,以使构建能够正常工作

{
  "env": {
    "development": {
      "presets": [
        "next/babel",
        "@zeit/next-typescript/babel"
      ],
      "plugins": [
        [
          "styled-components",
          {
            "ssr": true,
            "displayName": true
          }
        ],
        [
          "@babel/plugin-proposal-decorators",
          {
            "legacy": true
          }
        ]
      ]
    },
    "production": {
      "presets": [
        "next/babel",
        "@zeit/next-typescript/babel"
      ],
      "plugins": [
        [
          "styled-components",
          {
            "ssr": true,
            "displayName": true
          }
        ],
        [
          "@babel/plugin-proposal-decorators",
          {
            "legacy": true
          }
        ]
      ]
    },

我刚刚弄明白,我需要将插件添加到我的配置的生产部分,以使构建能够正常工作

{
  "env": {
    "development": {
      "presets": [
        "next/babel",
        "@zeit/next-typescript/babel"
      ],
      "plugins": [
        [
          "styled-components",
          {
            "ssr": true,
            "displayName": true
          }
        ],
        [
          "@babel/plugin-proposal-decorators",
          {
            "legacy": true
          }
        ]
      ]
    },
    "production": {
      "presets": [
        "next/babel",
        "@zeit/next-typescript/babel"
      ],
      "plugins": [
        [
          "styled-components",
          {
            "ssr": true,
            "displayName": true
          }
        ],
        [
          "@babel/plugin-proposal-decorators",
          {
            "legacy": true
          }
        ]
      ]
    },

我看到了类似的情况,但我认为你可以做到:

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

看起来你可以为所有的事情提供全局插件,而不是为每一件事设置所有插件。否则会打哈欠。

我看到我这边也有类似的情况,但我认为你可以做到:

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

看起来你可以为所有的事情提供全局插件,而不是为每一件事设置所有插件。否则会让人打哈欠。

请注意,对于Next.JS NX用户,他们的github上目前有一个关于此错误的公开版本:github.com/nrwl/NX/issues/3322


我尝试使用多种解决方案组合解决此问题,但尚未成功。

注意,对于Next.JS NX用户,他们的github上目前有一个关于此错误的公开版本:github.com/nrwl/NX/issues/3322


我尝试使用多种解决方案组合解决此问题,但尚未成功。

好主意!很高兴你能找到答案!抢手货很高兴你能找到答案!