标签: transpiler

Ember Cli - 在ember-cli-build中映射供应商ES6依赖?

我正在使用Ember Cli编写一个Ember.js应用程序,我希望包含一个非bower依赖项 - 基本上是我vendor文件夹中的依赖项.

这样做的说明告诉我将以下行添加到我的ember-cli-build.js文件中:

app.import('vendor/dependency-to-include.js');
Run Code Online (Sandbox Code Playgroud)

对于正常的ES5风格的依赖项,这可以正常工作,但是如果我想添加用ES6编写的依赖项呢?

现在它只是将它传递给浏览器,不会产生如下错误:

Uncaught SyntaxError: Unexpected reserved word
Run Code Online (Sandbox Code Playgroud)

因为我的ES6风格的依赖项使用以下语法:

import Util from './util
Run Code Online (Sandbox Code Playgroud)

我猜我需要告诉ember-cli-build在将它传递给浏览器之前将其转换为特定的依赖关系,但我该如何去做呢?

谢谢

transpiler ember.js ember-cli

5
推荐指数
1
解决办法
470
查看次数

如何使用babel CLI编译文件

我正在尝试es6用babel CLI 编译一个简单的文件

鉴于以下细节:出了什么问题?

$ node --version
v5.0.0

$ npm --version
3.3.6

$ npm init
$ npm install --save-dev babel-cli

$ echo -e 'import url from "url"\nconsole.log(`2+2=${2+2}`)' > script.js

$ ./node_modules/.bin/babel  script.js 
import url from "url";
console.log(`2+2=${ 2 + 2 }`);
Run Code Online (Sandbox Code Playgroud)

换句话说:我放入ES6然后我拿出ES6(尽管间距略有不同,并添加了分号).我期待看到转换为需求的导入,并看到我的后退滴答消失.

那就是:我想要ES5了.

我需要做些什么不同的事情?

node.js transpiler babeljs

5
推荐指数
1
解决办法
5755
查看次数

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

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

这是我写的一些代码,我认为它们会起作用或几乎起作用:

function injectDefine(babel) {
    var header = 'if (typeof define !== "function") { var define = require("amdefine")(module); }';

    return new babel.Plugin('amdefine', {
        visitor: {
            Program: {
                enter: function(path, file) {
                    path.unshiftContainer(
                        'body',
                        babel.types.expressionStatement(
                            babel.types.stringLiteral(header)
                        )
                    );
                },
            },
        },
    });
}

require('babel-core/register')({
    stage: 0,
    plugins: [{transformer: injectDefine}],
});

require('../components/button');
Run Code Online (Sandbox Code Playgroud)

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

其他说明:我正在使用babel 5,现在无法升级。我现在也不能.babelrc很轻松地使用它。

javascript transpiler babeljs

5
推荐指数
1
解决办法
1865
查看次数

使用haxe作为c ++和JavaScript之间的转换器

首先,我为长篇大论道歉.我一直在问一些关于haxe及其作为解决我所面临问题的工具的适用性的问题.我对haxe的知识非常有限,但我所知道的是我在haxe项目中的理想角色并不是haxe的正常使用.所以我想避免的是浪费时间我没有学习这种语言(尽管它看起来非常有趣和强大)只是发现它不适合目的.所以我希望得到一些关于它是否适合目的的经验丰富的兽医.我真的希望它是.

这是我想要实现的目标:

我在游戏行业工作,我需要用C++和JS创建游戏.用于嵌入式系统的C++和用于在线和移动的JS.我在C++和JS方面都很有经验.

我开发的游戏我只想写一次.现在我可以使用类似emscripten的东西从C++转到JS,但这会导致编译的JS代码无法轻松地使用chrome dev工具进行调试.我已经收敛了,我将使用编译的JS遇到边缘案例错误,我不能轻易地回到原始的C++.此外,游戏的某些平台需要公平的实验室来查看源代码,这对编译的JS来说是一个问题.

我真正需要的是源代码编译器,它生成本机和人类可读的c ++和JS代码,然后我可以使用它并在必要时以其原生形式进行修改,因此haxe.我查看了haxe为C++和JS生成的代码.JS看起来非常容易理解和使用.C++并不是那么多,但仍然可以接受.我甚至可以阻止haxe编译和链接我不需要的C++.我只想要源代码.

到现在为止还挺好.

现在我有一个使用oxygine 2d引擎的c ++游戏框架.它能够显示精灵等,以及我为消息总线和有限状态机创建的框架(也可以加载更多有用的类).我在JS中也有类似的框架,它使用Pixijs作为其2D引擎,并且有自己的消息总线等,就像C++引擎一样.

现在我想要做的就是在haxe中编写模块,当我向C++和JS转换时,代码可以作为框架的一部分包含在内并与其受尊重的语言引擎一起工作.我在haxe中创建的每个对象都将被非常封装,只需要订阅消息总线,处理消息并发回消息.它可能还需要知道如何使用其引擎状态机.因此,我不知道这是否可能与haxe一起使用,因为消息总线(以及其他对象)将不会以haxe编写,而是在将其转换并在其本机项目中构建之后将提供给模块.也许我可以编写自己的haxe库,它知道我的两个游戏引擎的语法,并且可以根据其目标语言进行转换?不确定这是可能的.

感谢您花时间阅读,以及您可以提供的任何建议.

haxe transpiler

5
推荐指数
1
解决办法
915
查看次数

Babel转换es7类装饰器意外的令牌错误

我正在使用一个使用es6和es7代码的Aurelia应用程序,我试图使用babel来转换代码.我在packages.json文件中有以下内容

"scripts": {
    "babel": "babel --stage 1 -d AureliaWeb/ ../Test/Aurelia/ --extends babelrc",
Run Code Online (Sandbox Code Playgroud)

我安装了以下软件包:

"devDependencies": {
"babel-core": "^6.10.4",
"babel-plugin-syntax-decorators": "^6.8.0",
"babel-plugin-syntax-flow": "^6.8.0",
"babel-plugin-transform-es2015-modules-amd": "^6.8.0",
"babel-plugin-transform-es2015-modules-commonjs": "^6.10.3",
"babel-plugin-transform-es2015-modules-systemjs": "^6.9.0",
"babel-plugin-transform-flow-strip-types": "^6.8.0",
"babel-preset-es2015": "^6.9.0",
"babel-preset-es2015-loose": "^7.0.0",
"babel-preset-react": "^6.11.1",
"babel-preset-stage-0": "^6.5.0",
"babel-preset-stage-1": "^6.5.0",
"babel-preset-stage-2": "^6.11.0",
"babel-preset-stage-3": "^6.11.0",
"babel-register": "^6.9.0",
"chai": "^3.5.0"
},
"dependencies": {
"babel-plugin-transform-class-properties": "^6.10.2",
"babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-preset-es2015-loose": "^7.0.0",
"core-js": "^2.4.0",
"lodash": "^4.13.1"
}
Run Code Online (Sandbox Code Playgroud)

我试图转换es7代码看起来像:

import {inject, noView} from 'aurelia-framework';
import {HttpClient} from 'aurelia-http-client';

@noView() <-- THIS IS CAUSING THE ERROR!!
@inject(HttpClient)
export …
Run Code Online (Sandbox Code Playgroud)

babel transpiler ecmascript-6 aurelia ecmascript-7

5
推荐指数
1
解决办法
1033
查看次数

如何在快速`.so`中转换scikit模型

什么应该是更好的路径转换scikit模型(例如,一个RandomForestClassifier拟合的结果)在一个C++中,以获得.so从其他生态系统调用的最快?

transpiler scikit-learn

5
推荐指数
1
解决办法
308
查看次数

通过Babel在线将ES6转换为ES5

如您所见我想将以下代码从ES6转换为ES5,并用作预设“ es2015”:

let myString = "Whatever";
let myStringArray = Array.from (myString);
console.log (myStringArray);
Run Code Online (Sandbox Code Playgroud)

如您所知,ES5中没有“ Array.from”方法,但转码后的代码仍包含Array.from。我做错什么了?

javascript transpiler ecmascript-6 babeljs

5
推荐指数
1
解决办法
3143
查看次数

打字稿tsconfig排除一些源文件

我正在尝试让Typescript在编译时排除某些文件。但是,似乎并不想排除它们。

这是我的tsconfig.json

{
  "ref": "master",
  "path": "typings",
  "compilerOptions": {
    "module": "amd",
    "target": "es5",
    "declaration": true,
    "sourceMap": true,
    "outDir": "build/src"
  },
  "exclude": [
    "node_modules",
    "typings/global",
    "typings/index.d.ts",
    "./src/subClassA.ts"
  ],
  "files": [
    "./src/entry.ts"
  ]
}
Run Code Online (Sandbox Code Playgroud)

它似乎排除了node_modules和类型。但是,编译后的代码仍包含subClassA。

我本来希望编译后的代码没有来自subClassA的任何代码,但是确实如此。

javascript transpiler typescript tsconfig

5
推荐指数
1
解决办法
4690
查看次数

Node 8.9.4我还需要babel吗?

来自http://node.green/ NodeJS版本8.9.4支持99%的ES2015功能.这是否意味着我根本不需要巴贝尔?

以下是我正在努力实现的更多细节:

  1. 我只谈论NodeJS的服务器端代码
  2. 我想在我的代码中使用ES2015功能/语法.
  3. 在这一点上,我不是在看ES2016或ES2017.换句话说,我很高兴只使用ES2015.
  4. Babel提供的节点8.9.4中没有的1%功能也不会打扰我.因为我确信NodeJS团队正在努力整合剩余的功能,我相信这将会比以后更早发生.

我听说服务器端的转换代码会降低开发速度.我不确定它对性能有什么影响.

所以这是我的问题:

  1. 鉴于我上面所说的,我仍然需要Babel用于任何目的吗?(如果我不关心Node尚未实现的ES2015功能的1%).
  2. 如果我最终仍然在服务器端使用Babel,它会对开发时间和性能产生什么样的影响?

我希望这更清楚.

javascript babel node.js transpiler ecmascript-6

5
推荐指数
1
解决办法
1354
查看次数

将Webassembly编译为本机可执行文件

是否有任何工具可以将wasm模块编译为本地可执行文件(例如,ELF或.exe文件)?类似脚本,但相反。失败了,还有其他方法可以在浏览器之外运行webassembly吗?

transpiler webassembly

5
推荐指数
1
解决办法
842
查看次数