问题标签 [karma-babel-preprocessor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
55492 浏览

javascript - RegeneratorRuntime 未定义

我正在尝试运行Karma-babel-preprocessor和直接的 ES6 生成器:

从这里我用 babel 生成了我的测试文件(ES6 => ES5):

babel src --watch --out-dir tests

然后我运行karma start我得到错误:

ReferenceError: regeneratorRuntime 未定义”。

karma.conf.js 中的相关位:

github上的完整项目

我能够使用许多 ES6 特性,包括箭头。只是没有继续发电机。

0 投票
0 回答
421 浏览

karma-runner - Karma-babel require 没有定义,即使不使用 require

我有这个:

但是在运行 karma 时,require is not defined即使不使用 require 也会出现错误。

有任何想法吗?

0 投票
0 回答
397 浏览

karma-jasmine - 业力覆盖(Jasmine、Babel、Webpack)

在对我的 karma.conf.js 进行更改以允许 Karma Coverage 之后,运行 karma 现在会失败。我不确定发生了什么。有什么想法吗?

我收到以下错误(下面还有更多类似的错误)

27 12 2016 06:35:35.997:ERROR [karma]: { 错误: MemoryFileSystem.readFileSync (/Users/lancepoehler/Documents/workspaces/SolarAnalysisClient/node_modules/memory-fs/lib/MemoryFileSystem.js: 114:10) 在 MemoryFileSystem.readFile (/Users/lancepoehler/Documents/workspaces/SolarAnalysisClient/node_modules/memory-fs/lib/MemoryFileSystem.js:297:21) 在 doRead (/Users/lancepoehler/Documents/workspaces/SolarAnalysisClient/ node_modules/karma-webpack/lib/karma-webpack.js:201:29) 在 Plugin.readFile (/Users/lancepoehler/Documents/workspaces/SolarAnalysisClient/node_modules/karma-webpack/lib/karma-webpack.js:205: 5) 在_combinedTickCallback (internal/process/next_tick.js:67:7) at process._tickCallback (internal/process/next_tick.js:98:9) 代码:'ENOENT',errno:34,消息:'没有这样的文件或目录',路径:'/_karma_webpack_/src/components/Error.js' }

0 投票
2 回答
950 浏览

typescript - 使用 typescript 和 karma 进行 Babelify 项目

设置和目标

Typescript 项目,带有 typescript mocha 测试。项目应该从 Typescript 转换为 ES6,然后通过Babel转换为几个可交付的包。

我想通过Karma(最终是BrowserStack)在浏览器中针对与 babel 生成的相同转换版本运行所有测试。

尝试和问题

我有 karma-typescript + mocha 工作,但只在 es2017 兼容的浏览器中工作。问题是在两者之间插入 babel。
我想我已经尝试了我能想象的一切,但即:

  • karma-typescript-es6-transform:仅转换捆绑的 ES6 模块,而不是用户的代码。
  • karma- browserify和babelify转换:browserify 似乎与 karma typescript 或至少它的转换系统不兼容。当 babel 找不到some/some.js文件时它会失败,该文件似乎只存在于 karma 内存中。
  • karma-babel-preprocessor似乎是正确的方法。

以上还有许多变体以及更多变体,但都没有奏效。

有希望的设置karma-babel-preprocessor

我认为这应该是正确的方法,所以我发布了一个包含我当前状态的项目:https ://github.com/anpur/karma-typescript-babelify 。

这是我的一部分karma.conf.js

Karma 能够在此设置中转换 -> 转换 -> 捆绑它,但我遇到了一整套不同的奇怪问题(没有浏览器在这种状态下工作):

  • 在 es2017 浏览器(Chrome)中:Uncaught Error: Can't find entrypointfor some-test.ts(mocha 可以正常工作,没有 babel 转换)。
  • 在旧的 Firefox 44TypeError: global is undefined中。
  • 在 IE 10Unable to get property 'wrappers' of undefined or null reference中。

PS - 上述模块/框架对我来说都不重要,所以我会对任何其他工作设置感到满意,它可以进行 typescript -> babel -> browserstack 测试。谢谢!

0 投票
1 回答
841 浏览

ecmascript-6 - 带有 Coverage 的 Karma 跑步者 - 预处理器不适用于 Javascript ES6 代码

我最近才开始在我们的 UI5 应用程序中使用 Karma runner。写了一些单元测试,运行它们......到目前为止一切都很好。

但是,现在我决定跟踪代码覆盖率。为了测量它,我需要在我的源代码上运行预处理器。这就是我偶然发现一个问题的地方 - 我目前正在努力使其工作并且都有一些问题

  1. npm 包karma-coverage作为预处理器 - 安装后,我在 karma.conf.js 中设置它像这样

这适用于helpers文件夹,因为它只包含一个带有简单 javascript 的文件。但是,当它尝试处理controller包含某些 ES6 代码文件的文件夹时,每个文件都会失败并出现以下错误

  1. 作为第二种选择,我尝试使用karma-babel-preprocessor应该能够处理 ES6 代码的。这就是我的 karma.conf.js 文件的样子

    预处理器:{“webapp/helpers// . js”:['babel'],“webapp/controller// . js”:['babel'],},

    /li>

但是,这个甚至找不到js文件(即使地址与覆盖预处理器的情况相同)并返回此错误。

有人知道如何在使用这些包或任何其他包时获取覆盖数据吗?网络上有很多相互矛盾的信息,其中大部分都是几年前的,而各种与 karma 相关的 npm 包每个月都会不断出现,所以我真的不确定哪个最好用。

非常感谢