问题标签 [babeljs]

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 投票
1 回答
630 浏览

javascript - aurelia、es6 和类名大小写

我正在研究 aurealia 中的自定义组件,并遇到了我不理解的奇怪行为。考虑一下:

组件:xxxaaa.html

xxxaaa.js:

应用程序.html:

这按预期工作,显示 xxxxxx。然后,驼峰组件:

xxxAaa.html:内容没有改变,只有文件名

xxxAaa.js:

应用程序.html:

没有显示任何内容,但日志不包含任何错误,仅:

INFO [aurelia] Aurelia 开始 index.js:26 DEBUG [template] 导入 dist/app.html 的资源 ["dist/xxxAaa"] index.js:26 DEBUG [template] 导入 dist/xxxAaa.html 的资源 []

因此第一个问题,为什么会这样?

更新:在我看来,这就像 aurelia 中的错误(它无法正确报告错误制作的自定义 elt)或我对其实际工作原理的理解存在重大差距。您能否确认这是一个错误或解释为什么 aurelia 默默地忽略了我的元素。

然后,回滚到第一个工作状态,并将 xxxaaa.js 更改为

控制台日志错误:

于是出现了第二个问题——是什么导致了这种区分大小写的?是es6、babel还是aurelia?

更新:我希望 aurelia 在这里抱怨它找不到类,但看起来它选择了错误命名的类并尝试使用它。异常本身非常模糊(https://github.com/babel/babel/issues/887https://github.com/babel/babel/issues/700)但我是否正确理解它又是一个案例来自 aurelia 的糟糕错误报告?

0 投票
1 回答
1658 浏览

javascript - 有人在生产 Rails 应用程序中使用 Babel/6-to-5 吗?

在 Rails 前端使用 ES6 的好处是非常有吸引力的。

我在我们的 Rails 应用程序中创建了一个主题分支,它使用babel通过资产管道将 ES6 转换为 ES5。它运作良好,但我一如既往地厌倦了技术债务。有没有人有关于在生产中使用这种系统的好/坏报告?

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 投票
1 回答
217 浏览

gulp - 如何为 gulp 任务保存 babeljs 格式?

我正在使用 gulp 并且我想使用 babeljs 任务保存我的 .js 文件的格式,我该如何执行此操作?

例如我有:

它将它表示为:

如何避免这种情况?

0 投票
1 回答
612 浏览

javascript - 尝试 babeljs+amd 未定义模块

我正在试验 babel.js 和 RequireJS。给出了要求,我不能遗憾地放弃它:(我在 babeljs 文档中发现有一个--modules amdcli 标志可以将 ES6 代码转换为 AMD 定义。到目前为止一切都很好。我做了一个快速示例“应用程序”来测试它。这是结构:

索引.html

main.js

引导程序.es6

资产.es6

我的应用程序问题是main.js加载bootstrap正确,如果我将其注销,我会得到一个包含就绪功能的现有对象 - > OK 但是bootstrap模块无法正确加载asseta模块。我对此感到不确定:(

我错过了什么?

附加信息

build.sh脚本仅将 .es6 文件转换为 ES5 .js

0 投票
2 回答
704 浏览

javascript - yeoman webapp 中的 Babel

我一直在尝试让 Babel (6to5) 与 yeoman webapp 生成器一起工作,但我失败了。我尝试了不同的配置,但没有一个有效,我在互联网上也没有任何解决方案。有没有人成功让 babel 与 webapp 生成器一起工作?如果是这样,你能和我分享你的 grunt 配置文件吗?

谢谢,卢卡斯

0 投票
4 回答
8872 浏览

node.js - 调试 NodeJS + ES6 应用程序 (Webstorm)

我想在客户端和服务器端都使用 ES6。当然,我可以从终端启动我的 NodeJS 服务器babel-node src/app.js,但它无法调试。

另一方面,Webstorm 9 声称它支持 ES6,但是当我尝试启动默认节点配置时,它会抱怨该a => a + 1功能。

问题:如何在 Webstorm 9 中启动 NodeJS + ES6 应用程序?

PS 我使用 Node 0.12.* 版本 PS 我也试过这个,但它也不适合我

0 投票
8 回答
52235 浏览

javascript - 要求('babel/register')不起作用

我在带有Babel 转译器的客户端上用 ES6 编写了同构应用程序的客户端上用 ES6 编写了同构应用程序。我希望我的快速服务器具有与客户端代码相同的 ES6 语法。

不幸的是require('babel/register')不起作用..

服务器.js

0 投票
1 回答
869 浏览

javascript - ES6to5、ES6 模块转译器和 Babel

这个包有什么区别?都在做同样的事情吗?

在这里使用早午餐,但不是早午餐的具体问题。

http://libraries.io/npm/6to5-brunch

http://libraries.io/npm/es6-module-transpiler-brunch

http://libraries.io/npm/babel-brunch

0 投票
1 回答
6363 浏览

javascript - 如何正确地将 jquery 插件添加到 webpack 中的 jquery 对象?

TL;DR 用插件扩展 jQuery 对象、全局公开它并在 webpack 中使用带有 ES6 模块的外部 AMD 库的正确方法是什么?webpack 是完成这项任务的正确工具,还是 SystemJs 更适合将遗留应用程序重构为 ES6 模块的情况?

我正在尝试使用 webpack 和 ES6 模块。我有一个主要是 jquery 的遗留应用程序,我目前正在转换。我面临以下挑战:

  1. 在 webpack/babel-loader 工作流中寻找最佳实践
  2. 找出将哪个加载器/插件用于哪个目的
  3. 获取诸如 jquery 和 jquery 插件之类的 AMD 资源,以便与其余模块一起使用。
  4. 暴露 jquery 全局变量,扩展所有插件和 jquery-ui

我依赖于以下资源:这个很好的答案解释了很多,尽管它没有提到我主要依赖的导出加载器: https ://stackoverflow.com/a/28989476/2613786

http://webpack.github.io/docs/shimming-modules.html - 文档列出了许多可能性,但我缺乏决定哪一个是正确的经验。似乎更喜欢使用 ProvidePlugin 而不是暴露加载器。遗憾的是,我没有让它与扩展的 jQuery 对象一起工作。它也不适用于<script>标签中调用的模块功能。

我仍然在努力寻找编程解决方案并决定哪个 webpack 插件最适合这项工作。非常感谢有经验的 webpack 用户的一些建议或示例。

在我的webpack.config.js我有以下加载器来公开 jquery 并使用 babel 进行转换:

在我的 entry.js 文件中,我通过以下方式包含 jquery:

我不得不注释掉 ProvidePlugin,当我使用它时,jQuery 不再使用自定义插件进行扩展,知道为什么会这样吗?它是否与使用 ES6 模块语法的插件有关?

我必须添加它loader: "imports?define=>false"才能jquery.sparkline.js被识别。这真的有必要吗,还是有更好的方法来做到这一点?

关于 jquery-ui,我必须找到一个不使用 AMD 定义的旧版本才能将其添加到 jquery 对象中。什么是正确的方法?

非常感谢任何帮助和建议,切换到 SystemJs 和 Jspm 的原因也可能是一个解决方案。