当前位置: 首页 > 面试题库 >

如何在Jest中使用babel-preset-env

能修谨
2023-03-14
问题内容

我们正在更新我们的API,Babel的Henry Zhu提醒我注意此预设,babel-preset-env以替换babel-preset- es2015and的需要babel-preset-es2018

现在,我在理解最简单的方式来处理所有事情时遇到了困难。

  • 我们的API使用节点v8.x和async / await,本机承诺
  • 我要传播算子
  • 我要管道操作员
  • 我想要导入/导出语法
  • 我想支持杰斯特
  • 我喜欢babel-node如何将API转换到内存

如果我仅向您显示配置的当前位置,这将更加容易:

.babelrc

 {
   "presets": [
     "env",
       {
         "targets": {
           "node": "current"
         }
       },
     "jest"
   ]
 }

package.json

 {
   "scripts": {
     "test": "node --harmony-async-await node_modules/jest/bin/jest.js",
     "start:local": "NODE_ENV=localhost npm run babel-node -- warpcore/server.js",
     "start": "npm run babel-node -- warpcore/server.js",
     "babel-node": "babel-node --presets=es2015,stage-2"
   },
   "dependencies": {
     "babel-polyfill": "^6.23.0"
   },
   "devDependencies": {
     "babel-cli": "^6.24.1",
     "babel-core": "^6.25.0",
     "babel-eslint": "^7.2.3",
     "babel-jest": "^20.0.3",
     "babel-preset-env": "^1.6.0",
     "babel-preset-es2015": "^6.24.1",
     "babel-preset-es2018": "^1.0.0",
     "babel-preset-stage-2": "^6.24.1",
     "jest": "^20.0.4"
   },
   "jest": {
     "testURL": "http://localhost:8080",
     "testEnvironment": "node"
   }
 }

我不确定如何组织这些事情才能最好地实现我在上面的项目符号列表。

我应该做些什么改变?

  • 我认为babel-node脚本需要更改
  • 我怀疑我可以删除其中一些软件包
  • 我怀疑.babelrc档案不是最佳档案

问题答案:

我想我可以使用了。解决方法如下:

.babelrc

问题中张贴的一个语法有错误,因为环境预设需要用括号括起来[](来自:http : //babeljs.io/docs/plugins/preset-
env/

正确:

 {
   "presets": [
     ["env",
       {
         "targets": {
           "node": "current"
         }
       }],
     "jest"
   ]
 }

package.json

问题中张贴的内容可以删除以下几项:

  {
     "scripts": {
       "test": "jest --verbose",
       "start:local": "cross-env NODE_ENV=localhost babel-node -- app.js",
       "babel-node": "babel-node --presets=env"
    },
    "dependencies": {
      "babel-cli": "^6.24.1",
      "babel-preset-env": "^1.6.0"
    },
    "devDependencies": {
      "babel-eslint": "^7.2.3",
      "babel-jest": "^20.0.3",
      "jest": "^20.0.4"
    },
    "jest": {
      "testURL": "http://localhost:8080",
      "testEnvironment": "node"
    }
  }

我认为干净得多。.babelrc如果要显式包含或排除任何预设,或指定要支持的浏览器,则可以从文件中调制预设。



 类似资料:
  • @babel/preset-env is a smart preset that allows you to use the latest JavaScript without needing to micromanage which syntax transforms (and optionally, browser polyfills) are needed by your target en

  • Jest Preset Angular A preset of Jest configuration for Angular projects. This is a part of the article: Testing Angular faster with Jest. Getting Started These instructions will get you setup to use j

  • 我试图转编译我的反应/es6代码,我来自浏览器。我正在努力创建一个webpack构建,因为新的Babel 6版本和大多数教程现在已经过时的事实。这在我的. babelrc中工作: 但当我把它改成这个: 它抛出了这个神秘的错误: 这是我的网页包。配置。js如果这有帮助的话: 我有什么明显的遗漏吗?我还交换了预设的顺序,这似乎没有什么不同。在我的节点模块中,我有babel core、babel loa

  • 我已经安装了Babel7.5,这应该是理想的目标预置环境包,但不确定为什么它正在寻找“Babel-Preset-ES2015”。 你们能告诉我我犯了什么错误吗?下面是我的代码 package.json .babelrc 模块生成失败(来自./node_modules/babel-loader/lib/index.js): 错误:从“d:\shashank\projects\uploadutilit

  • 此 preset 包含如下插件: @babel/plugin-transform-typescript 你需要为 @babel/cli 和 @babel/node 命令行工具指定 --extensions ".ts" 参数,以使其能够处理 .ts 文件。 示例 输入 const x: number = 0; 输出 const x = 0; 安装 npm install --save-dev @

  • 安装 npm install babel-preset-minify --save-dev 用法 Via .babelrc 配置文件(推荐) .babelrc { "presets": ["minify"] } 或通过参数设置 - { "presets": [["minify", { "mangle": { "exclude": ["MyCustomE