代码之家  ›  专栏  ›  技术社区  ›  theJuls

.babelrc破坏语义ui和下一个应用程序

  •  1
  • theJuls  · 技术社区  · 7 年前

    我不知道发生了什么,但每当我想在我的应用程序中添加单元测试时,我必须添加 .babelrc 仅包含以下代码的文件:

    {
      "presets": [
        "es2015",
        "next/babel"
      ]
    }
    

    在此之前,我不需要该文件,它只是一个具有语义的nextjs应用程序。到目前为止,一切顺利。直到我决定重建我的语义ui主题,结果证明这是一个巨大的错误!

    这就是我跑的: cd semantic && gulp build

    这导致我的应用程序在任何时候都停止工作 .babelrc 存在。

    这些是我的 package.json 脚本:

      "scripts": {
        "dev": "next",
        "build": "next build",
        "start": "next start",
        "semantic": "cd semantic && gulp build",
        "test": "mocha --require babel-core/register --watch-extensions js **/*.test.js"
      },
    

    如果我尝试运行 next 相关脚本,我得到以下错误:

    错误:插件/预设文件不允许导出对象,只能导出函数。在/Users/theJuls/Workspace/cbt/client/node\u modules/babel-preset-es2015/lib/index中。js

    如果我尝试运行我的单元测试

    错误:在“/Users/theJuls/Workspace/cbt/client/node\u modules/next/babel.js”中指定的插件0提供了无效的“default”属性(处理预设时:“/Users/theJuls/Workspace/cbt/client/node\u modules/next/babel.js”)

    如果我删除 .babelrc ,所有 下一个 脚本正常运行,但我完全失去了单元测试。为什么会这样?我能做些什么来解决这个问题?

    我不确定这是否相关,但这是我当前的文件结构:

    api/
    components/
    config/
    lib/
    pages/
    semantic/
    store/
    .babelrc
    package-lock.json
    package.json
    semantic.json
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   theJuls    7 年前

    我不知道它为什么突然坏了,但我已经找到了一种解决方法,这也是最新的方法,因为我以前的方法被弃用了。

    首先,我必须安装以下模块: @babel/core @babel/register

    更改了 .babelrc 文件如下:

    {
      "presets": [
        "@babel/preset-env",
        "next/babel"
      ]
    }
    

    最后,在 package.json 只需稍微更改 test 命令收件人:

    “test”:“mocha--需要@babel/register--观看扩展js**/*。test.js”

    因为我们现在使用 @巴别塔/寄存器

    这使一切恢复正常。