问题标签 [transpiler]

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 回答
218 浏览

typescript - 无法引导 angular2 - cosole 上没有错误

我正在使用 gulp 将 ts 转换为 js,并且我的 ts 文件与其他静态资源一起正确生成在 dist 文件夹中。

我使用 systemjs 导入 scripts.js

script.js 是我串联的 javascript 文件,包含我的所有组件。问题是我在控制台上没有任何错误。我觉得我需要定位 boot.js 而不是 script.js。我怎样才能在我的 dist 文件夹中做到这一点

0 投票
0 回答
207 浏览

javascript - 在 Aurelia 中从 ecma6 转换为 ecma5 不起作用

有没有人有在 aurealia 教程中从 ecma6 转换为 ecma5 的经验?

我正在做这里的生产教程http://aurelia.io/docs.html#/aurelia/framework/1.0.0-beta.1.1.4/doc/article/a-production-setup

当运行 gulp 任务“build-e2e”时,它会获取 test/e2e/src 目录中的文件并在 test/e2e/dist 目录中输出一个版本。很好,但文件是一样的(它会接受更改,但似乎从 ecma6 转换为 ecma6。

编辑 运行“gulp e2e”时,我收到以下日志消息:[launcher] Running 1 instances of WebDriver FFFF

失败:

1) 异常加载:/......../aurelia-production-tutorial/test/e2e/dist/demo.spec-compiled.js 错误消息:SyntaxError: Unexpected token export Stacktrace: SyntaxError: Unexpected token export at在 Object 的 require (internal/module.js:16:19) 处的 exports.runInThisContext (vm.js:53:16)。(/........./aurelia-production-tutorial/test/e2e/dist/demo.spec-compiled.js:3:20)

0 投票
2 回答
64 浏览

javascript - 如何为某些浏览器加载某些脚本?

我有一个应用程序启动并运行,它在 Chrome 和 Firefox 中运行良好。Safari 是另一回事。为了举例,让我们假设这是我的应用程序:

当我在 Safari 中运行它时,我得到:

SyntaxError:意外的关键字“const”。严格模式不支持 const 声明。

然后,如果我删除“使用严格”,我会得到:

SyntaxError:意外的标识符“y”

在这一点上,我决定首先看一下转译,所以我安装了 Babel,并将我的客户端代码转换为 ES5 并放在一个新文件夹中。

我现在的问题是,如果用户使用的是 Chrome/Firefox,那么加载原始代码的最佳做法是什么,但如果他们使用的是 Safari,则加载转译的代码是什么?我的头在这里是否正确?

0 投票
1 回答
232 浏览

javascript - 我如何理解 js.map 文件中的所有这些垃圾?

我知道成为一名优秀的编码员并不重要,但我很好奇是否有人知道并可以解释.js.map文件中发生的事情。

例如对于这个简单的.ts文件,

编译后js我得到这个.js.map文件

为什么?

0 投票
3 回答
1221 浏览

javascript - 是否有一种功能齐全的范式语言可以转换为 JavaScript?

是否有一种语言可以转换为 JavaScript(如 TypeScript、CoffeScript 等)并且几乎是纯函数式的(如 Haskell、Erlang、F#)?

我知道有一些库可以帮助保持不变性(下划线),并且 ES6 中有很多很酷的数组函数和 lambda。但是我正在寻找的是一个函数式的语法和转译器,所以我可以毫不费力地编写函数式 JavaScript。

0 投票
2 回答
4307 浏览

javascript - 使用 babel,如何将一些代码附加到每个文件的顶部?

我的目标是通过 babel 伪造一些 requirejs 代码。我发现如果我if (typeof define !== "function") { var define = require("amdefine")(module); }在 nodejs 中运行时将以下内容添加到每个文件的顶部,事情似乎就可以解决。

这是我编写的一些代码,我认为它们可以工作或几乎可以工作:

components/button文件只是我试图测试某些文件可以加载。

其他说明:我使用的是 babel 5,目前无法升级。我现在也不能.babelrc很容易地使用。

0 投票
1 回答
267 浏览

deployment - PhpStorm:在文件观察器转译 .scss 文件后自动部署 .css 文件

我正在将我的项目自动部署到远程服务器。所有更改的文件都会自动上传到服务器,所以这没关系。我有一个文件观察器(Compass SCSS)将我的 .scss 转换为 .css。当 .sccs 文件更改时,它会上传到远程服务器,但转译后的 .css 文件不会。

在部署选项中,“上传外部更改”复选框被选中(见屏幕截图)。在文件观察器设置中,“要刷新的输出路径”设置为转译的 .css 文件所在的文件夹。

但是,.css 文件在更改时不会自动上传。当我将焦点设置在 PhpStorm 之外的窗口上,然后返回到 PhpStorm IDE 时,.css 文件被上传,但我想避免更改窗口来上传它。

有什么我想念的吗?

部署选项屏幕截图

0 投票
2 回答
4388 浏览

typescript - 为什么打字稿转译器不提升变量?

我知道 ES6 和 TypeScript 都支持块级范围,但是当以 ES3 和 ES5 为目标时,输出应该是函数级范围。我认为为什么 TypeScript 不提升变量背后必须有一个逻辑......而且我没有遇到问题,我只是好奇它为什么不提升变量。

例如,给定以下 TypeScript:

转译器输出:

我期望的结果是变量声明被提升到函数顶部。看起来像这样:

非常感谢任何见解。谢谢!

0 投票
2 回答
922 浏览

compiler-construction - 制作类似 sql 的语言转译器的好选择

我需要制作一个输出类似 SQL 的语言的 DSL。首先,我想使用递归下降解析器 + 一种简单的代码生成方法来推出我自己的转译器。但是由于 DSL 语言非常简单,输出语言也很简单,我意识到我会尝试找到一种时间和精力更少、消耗更少的方法,而不是重新发明轮子,比如更强大的 C 预处理器版本。首先想到的是m4,我以前只听说过,到目前为止从未使用过。我正在阅读一些教程/文档,但我仍然不确定是否可以使用此工具实现我的目标。例如我想转:

会翻译成这样的东西:

那么我有什么好的方法来完成这个?继续学习M4还是我应该尝试另一种工具(如果是的话,哪个)或者我最好自己做编译器实现?

0 投票
1 回答
66 浏览

javascript - 意外转译 ES6>ES5

当将此函数从 ES6(使用 Babel)转换为 ES5 时,我没想到它会改变

但它变成了

为什么会这样以及它如何影响函数的使用(如果有的话)?即使它不影响使用,有什么我应该知道的吗?谢谢你。