问题标签 [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.
internationalization - 在 tornado Web 应用程序中使用 Babel 和 Mako 模板
我有一个龙卷风应用程序,它使用 Mako 进行模板。使用 Babel 我能够创建翻译(mo 文件),但是当我无法呈现翻译后的字符串时。
我的 html 块(index.mako):
handler.py 类 HomeHandler(BaseHandler):
response_str 返回
<li> <a id="login"> Login / Signup </a></li>
如何在 mako 中实现国际化?我搜索的所有文档都解释了提取翻译,但找不到任何关于在 mako 模板中使用翻译的文档。
我曾尝试使用 Tornado-Babel,但找不到与 mako 模板集成的文档。
javascript - 在客户端执行 jsx 转换
我正在构建一个允许用户构建和应用他们自己的组件和模板的应用程序。我想允许用户编辑 jsx 数据字符串,然后执行转换客户端进行渲染。
虽然浏览器中的转换在嵌入式脚本上执行 jsx 转换,并且服务器上提供了react-tools,但我无法确定如何使转换功能对客户端可用。
内联浏览器转换似乎没有提供任何访问方法,当我尝试在客户端上使用 react-tools 转换时,Atomify/Browserify 崩溃。
javascript - 将 ES6 可迭代对象转换为数组
假设您有一个类似数组的 Javascript ES6 Iterable,您事先知道它的长度是有限的,那么将其转换为 Javascript 数组的最佳方法是什么?
这样做的原因是很多 js 库如 underscore 和 lodash 只支持数组,所以如果你想在 Iterable 上使用它们的任何函数,必须先将其转换为数组。
在 python 中,您可以只使用 list() 函数。ES6 中是否有等价物?
javascript - 6to5 的 ES6 默认模块语法
是否可以使用 ES6 模块语法重新创建以下内容?
ES6 支持向表达式添加声明性关键字,如下所示:
但是,当运行6to5时,会生成:
是否可以将此语法与 default 关键字结合使用,以生成顶部代码片段?
gruntjs - 为缩小的 ES5 文件生成源映射,使用 6to5 和 grunt 映射回 ES6 源文件
我正在寻找一种6to5
在构建过程中使用转译器的grunt
方法,同时仍然能够将 ES5 输出的任何缩小文件映射回原始 ES6 源文件。
该grunt-6to5
插件只有一个布尔sourceMap
选项,它当然会生成映射回 ES5 源文件的 .map 文件。但是当试图将它与grunt-contrib-concat
/结合起来时grunt-contrib-uglify
,我只能得到一个映射回 ES5 输出,而不是原始 ES6 源。
有什么办法可以完成我想做的事情吗?
gulp - Gulp + browserify + 6to5 + source maps
我正在尝试编写一个 gulp 任务,允许我在 JS 中使用模块(CommonJS 很好),使用 browserify + 6to5。我也希望源映射能够工作。
所以: 1. 我使用 ES6 语法编写模块。2. 6to5 将这些模块转换为 CommonJS(或其他)语法。3. Browserify 捆绑模块。4. Source maps 指回原始的 ES6 文件。
如何编写这样的任务?
编辑:这是我到目前为止所拥有的:
吞咽任务
模块/A.js
模块/B.js
模块/main.js
代码似乎可以工作,但它没有被缩小,并且源映射是内联的(这实际上不适用于生产)。
javascript - Javascript 6to5(现为 Babel)导出模块使用
我仍然是初学者,我尝试将一个类导出和导入到一个主文件中,另一个类在其他类文件中并使用它们。
然后用 6to5(现在的 Babel)吞下 ES5 代码。
我的 gulpfile:
这是我的dist/main.js
文件:
控制台中的错误:ReferenceError: require is not defined
哪个当然行不通……我做错了什么或者我还缺少什么?我不完全明白。
javascript - 是否可以抑制顶级错误?
我正在使用 6to5 编译 ES6 代码片段,但ReferenceError: unknown: Line 1: Top level this is undefined in strict mode
在编译时出现错误,例如
该错误是有道理的,但我想编译引用的片段,this
有没有办法抑制错误并继续编译?
javascript - 在 Browserify/6to5ify 中创建一个可由 SystemJS 使用的模块
我有四个 ES6 模块和一个暴露来自其他四个模块的数据的模块,如下所示:
我的目标是拥有一个可以通过 systemjs api 使用的 JavaScript 模块文件:
递归计算和连接依赖关系的最佳方式似乎是通过 browserify,而从 ES6 编译到 ES5 的最佳方式是 6to5。所以,我查看了 6to5ify 节点模块。我复制并粘贴了示例中的代码:
最后,我将 game.js 加载到另一个 ES6 Web 项目中。但是,此时我收到错误,systemjs 模块加载器开始寻找 game.js 模块的依赖项,就好像它们是本地依赖项一样:
GET http://localhost:9000/client/board.js 404(未找到)es6-module-loader.src.js:2510
GET http://localhost:9000/client/card.js 404(未找到)es6-module-loader.src.js:2510
GET http://localhost:9000/client/game.js 404(未找到)es6-module-loader.src.js:2510
GET http://localhost:9000/client/player.js 404(未找到)es6-module-loader.src.js:2510
但是,我的构建文件的输出包括上面的模块,可以在这里找到。
由于问题可能出在browserify,使用6to5,systemjs加载模块的方式,或者它解析和读取构建文件内容的方式,我不确定在哪里看或问谁。
ecmascript-6 - 如何让 Object.assign 使用 6to5 polyfill?
我正在尝试使用Object.assign
from ES6
,但总是如此undefined
。这是我使用它的文件:
这是gulp
我transpile
对代码使用的任务:
我Object
的有效,assign
但undefined
. 我究竟做错了什么?