问题标签 [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.
compilation - 编译器和转译器之间的主要区别是什么?
Compiler
a和 a之间的主要区别是Transpiler
什么?请问你能提供一些两者的例子吗?
javascript - 如何在 Typescript 中导入模块(浏览器端)?
我正在尝试从打字稿中的另一个文件导入模块。但我收到以下错误:
这是我在另一个文件(module.js)但在同一目录中的简单模块:
以及导入的文件(scripts.js):
和 index.html
有什么帮助吗?我很失落。tsconfig:
谢谢。
约翰。
compiler-construction - 这个关于函数式编程语言的陈述是否正确?
我在读一本关于编译器设计的书,里面有一段说,
不同语言的编译器的主要区别在于它们生成的代码。一般来说,可以说命令式和面向对象语言的编译器以汇编语言生成代码。而函数式语言编译器在 C 或 C++ 中生成。
关于 C/C++ 的最后一部分是否正确?我无法通过谷歌搜索找到任何东西,所以我在这里问。
javascript - 无法转译 es6;进口申报错误
我已经准备了很多关于这个主题的问题和文章,但似乎没有任何效果。我的错误是这样的:
SyntaxError: import declarations may only appear at top level of a module
这是我无法正确转译 es6 代码的结果。这是我的 webpack 和 .babelrc:
网络包:
.babelrc
我尝试了各种方法(例如使用 'babel-preset-es2015',以及 stage-0 添加),但似乎没有任何效果。
此代码在我的一个组件中:
在 中转换为 this index.bundle.js
,这实际上引发了错误:
typescript - vs 代码不转译 ts 文件
我安装了 Visual Studio Code(版本 1.7.2)和 typescript 1.8。我在一个文件夹中构建了一个简单的 react-native 项目。(反应应用程序工作得很好,因为我可以在调试器中运行它)。现在我尝试整合打字稿。但是 vs code 不会在保存(ctrl+s)和构建(ctrl+b)时转换我的代码。这是我的tsconfig.json
文件(位于我的项目的根目录中):
这是tasks.json
文件:
编译发生得很好,因为 vs 代码能够从测试文件调用“mytest.ts”中挑选语法错误但是在保存或构建时没有生成“mytest.js”文件。我已按照此https://code.visualstudio.com/Docs/languages/typescript的说明进行操作
我仍然无法让 vs code 转译我的代码。
任何帮助,提示正确方向将不胜感激。
先感谢您
javascript - TypeScript 应该在 ES5 的转译输出中调用 _super 之前分配给 this?
我对所有扩展抽象类的子类使用依赖注入。
问题是在抽象构造函数类中,我启动了一个我计划在其子项中覆盖的方法,如果需要的话。
我遇到了一个问题,即我注入的依赖项在从 super 启动的覆盖类中不可见。
这是一个代码示例:
所以一个问题的核心是typescript将Example类转译成代码如下:
而不是这个:
如您所见,如果我将this.helper
之前放置_super
在 JavaScript 中,this.helper
将始终在_assemble
. 即使super
会调用该_assemble
函数。
但默认分配给它是在_super
调用之后。所以如果super
类将调用汇编。_assemble
第一次在示例中的覆盖方法中将不可见。
所以我的问题是...
它是一个错误吗?
或者
我不知道什么?
现在我解决了我的问题,只是_assemble
从super
课堂上移除,并且总是从孩子那里调用它。但这只是感觉不对。
Nota Bene:这是编译后的 JavaScript 代码与固定的 JavaScript 代码演示:
TypeScript 通常的输出:
TypeScript 修复了 javascript 输出:
angular - 在 Angular 2 模板中使用 array.prototype.includes
我正在使用角度cli。
我真的不明白我是否可以在我的 Angular html 模板代码中使用 array.prototype.includes。
如果我尝试在我的 .ts 代码中使用 array.prototype.includes,打字稿编译器会抛出错误消息
从以下链接 https://github.com/AngularClass/angular2-webpack-starter/issues/931看来,我必须修改 tsconfig.json 文件以将 es7 指定为 lib,而不是 es6。这适用于 .ts 文件。
但是,无论如何能够在我的 Angular 2 html 模板中使用 array.prototype.includes 并将其转换为等效的 es5 吗?
我知道 .includes 调用保持原样,因为当我在 IE 11 上运行应用程序时它们会引发错误。
还是我需要使用 polyfill 之类的?
这是我的 tsconfig.json 文件
谢谢
abstract-syntax-tree - 将 Hack 代码解析为抽象语法树
我希望将我的 Hack 代码分解为抽象语法树。请就可用的工具/库/github 存储库向我提供建议,这将帮助我将 Hack 代码解析为 AST。我找到了“h2tp”(对 Facebook 编写的 php 转译器的破解),但它不会将代码解析为 AST。我还尝试了这个项目,它可以满足我的要求,但是它不能识别许多操作员,并且需要大量的返工,这将花费很多时间。
javascript - 打字稿项目设置(第一次)
首先,经过数小时的谷歌搜索,我没有看到明确的答案,如果我忽略了某些内容,我很抱歉。
使用 Typescript 的快速版本
,我该如何移动node_modules
,outDir
或者我会以错误的方式处理事情?
长版本
我正在尝试开始使用打字稿,配置项目似乎是最难的部分。我的目标是让我的源代码src/server
和我的输出bin/server
这是我的 tsconfig.json 供参考:
这是目录结构:
编译自我~/Project
使用tsc -p src/server
,繁荣我们有bin/server/server.js
。
要运行我正在使用 vs 代码,这里是launch.json
:
我得到的错误是Error: Cannot find module 'express'
,模块已安装,src/server/node_modules/express
所以我猜我也必须移动node_modules
到bin/server
?这似乎不对。
typescript 的超级新手(从今天开始)感谢您花时间阅读我的长篇文章。
PS:假设一切都是最新版本。