问题标签 [grunt-babel]
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.
javascript - grunt-babel 打破文件格式(新行和空格)
我刚刚开始在我的应用程序中使用带有grunt-babel 的 babel 。但是我遇到了一些我想避免的行为:
在通天塔之前:
通天塔之后:
我的grunt 任务如下所示:
请注意,babel 删除了空白行,添加/删除了破坏先前格式的空格。
有什么办法可以避免这种情况并保持我的格式?
javascript - Grunt babel 多个文件并保留源映射
我正在尝试使用 grunt 和 babel 来转换文件夹中的所有 js6 文件,并最终得到一个连接的单个文件(js5),其中包含一个工作源映射到原始 es6 文件。但是源映射不起作用。我的 babel,concat 设置如下:
我首先得到一个包含大量 js 文件和 src 映射(tmp 目录)的文件夹。但是将它们连接到一个文件中会完全弄乱源映射。
想法?另外,我可以以某种方式跳过临时文件的制作并将结果通过管道传输到 concat 中吗?
javascript - Grunt watch 任务无法转译 ES6 代码
每当我更改 es6 文件时,我都会使用 grunt 和 grunt-babel 转译 ES6 代码。但是,其中一个文件似乎有错误,因为我在进行更改时收到此消息
我有几个问题。
- scripts/test.es6.js 是一个正确的 ES6 文件,但是由于 scripts/actions.es6.js 中的错误而更改它的 ES5 版本时它没有出现在我的输出文件夹中 - 为什么?
- 如何在我的 ES6 代码中找到这个错误?
- 为什么强制标志不导致它编译?
谢谢
这是 test.es6.js
这是actions.es6.js
错误发生在 var id = datum.id;
javascript - 在 Jasmine 中运行 javascript es6 代码
我正在 angularjs 应用程序中探索 JavaScript es6 代码,并使用 grunt babel 将 es6 编译为 es5。
我的单元测试(茉莉花)没有使用 phantomjs 运行 es6 代码。
什么是运行测试的最佳方式?有没有什么插件可以让 jasmine 运行 es6 代码?
javascript - 咕噜巴贝尔不工作
我正在尝试将 es6 转换为 es5,但它不起作用。
我的 Gruntfile.js
当我运行 grunt 时,文件 dist/app.js 与 app.js 相同
有什么问题吗?
javascript - 如何理解 Grunt 任务选项
我的目标是在浏览器上运行 ES6 代码,在阅读了很多之后,我发现了这个 enter link description here
并且能够运行 ES2015 代码。但是我很难创建 Gruntfile.js,我不明白哪些关键字可用以及它们的作用。以browserify为例,它可以这样配置
然后我去browserify网站阅读文档。有presets
,但没有transform
。我怎么知道我应该嵌套 dist>options>transform,并presets
在其中包含一个?我可以使用loose: "all"
吗?当我尝试理解 grunt 时,同样的问题,为什么人们使用dist
, 是用于 cli (运行 grunt --target=dist)?
对不起,如果我听起来很愚蠢,几天来很难理解咕噜声的选择。
gruntjs - grunt-babel 不能作为多任务工作
以下配置按预期工作,但是当//build: {
未注释这些内容时,它要么默默地失败,要么做了一些令我意想不到的事情。
因此,在//build: {
注释掉的情况下,es5-app
会在 处创建目录build/src
,但在//build: {
未注释的情况下,不会创建目录。在这两种情况下, grunt 都运行为grunt babel
,并返回Done, without errors
。
reactjs - babel 转译返回对象而不是字符串或函数
我的组件代码如下所示。
我的 .babelrc 文件是:
当编译发生时,它以“对象”而不是函数或字符串的形式给出输出。
这是输出对象。Banner: Banner(props) esModule: true __proto : Object
这导致 React 抛出错误:
Uncaught Invariant Violation:元素类型无效:期望字符串(对于内置组件)或类/函数(对于复合组件)但得到:对象。
转译代码:
任何帮助将不胜感激。让我知道是否需要更多详细信息!
gruntjs - 如何使用来自 grunt-contrib-concat 的 grunt-babel 的源映射
我通过 grunt 设置了一些自动化,第一步使用 grunt-contrib-concat (v 0.5.1),第二步使用 grunt-babel (v 6.0.0)。如果我使用 concat 生成源映射的选项,选项“embed”和“inline”会在 babel 中引发以下错误,并且不会生成进一步的输出:
选项“链接”显然被忽略了,babel 完成了它的工作,控制台中出现的所有代码都与连接的 js 文件和行号一起显示。
这种行为有什么解决方法吗?
babeljs - 调试 Babel 6 生成的 ES2015 代码不起作用
我正在试验 ES2015 JavaScript 并在 grunt 上使用 Babel 6 将代码编译成浏览器兼容的代码。
当我使用 Babel 的在线代码转换器 ( https://babeljs.io/repl/ ) 并将代码复制到我的文件中时,调试器在 Chrome 中可以完美运行一次。
但是,如果我将 babel 生成的代码保留在 grunt 中,则会触发调试,但不会在正确的行号处。
他们的在线工具使用 Babel 5,而我使用的是版本 6,所以我知道有些东西明显不同。但是在仔细查看了两个版本的输出之后,似乎唯一的区别是这里和那里的一些闭包。
我错过了什么吗?
这是我的 ES2015 JavaScript 代码:
这是 Babel 6 通过 grunt 的输出:
这是 Babel 5 使用他们的在线工具的输出: