标签: transpiler

Babel 创建输出目录但不转译任何文件

我正在尝试转译一个使用 ES6 语法和 TypeScript 的项目。我有一个这样的目录结构:

??? .babelrc
??? src
    ??? index.ts
    ??? pitching
        ??? pitching.test.ts
        ??? pitching.ts
Run Code Online (Sandbox Code Playgroud)

我想将所有内容编译src并输出到dist/. 我尝试了以下命令的许多变体(在 中的"build"脚本中指定package.json):

babel ./src -d ./dist
Run Code Online (Sandbox Code Playgroud)

但我总是得到以下输出:

$ babel ./src -d ./dist
Successfully compiled 0 files with Babel (13ms).
Done in 0.32s
Run Code Online (Sandbox Code Playgroud)

结果是dist/我的项目根目录中有一个空目录。我尝试编译为单个文件而不是目录,这确实创建了一个编译文件,但是代码中引用的所有模块路径都被搞乱了,因为它们是相对于src目录的。我之所以提到这一点,是因为对我来说这表明我的 babel 设置是正确的,尽管我也可能错了。

我的问题是,为什么我的文件没有被转译,或者我该如何排除故障?该命令没有给我任何有用的输出,甚至当我加入{"debug": true}到我的预设.babelrc

作为参考,这里是我使用的 babel 包和版本:

"devDependencies": {
    "@babel/cli": "^7.10.3",
    "@babel/core": "^7.10.3",
    "@babel/preset-env": "^7.10.3",
    "@babel/preset-typescript": "^7.10.1",
    "@types/jest": "^26.0.3",
    "jest": "^26.1.0"
}
Run Code Online (Sandbox Code Playgroud)

这是我的 …

javascript node.js transpiler babeljs

6
推荐指数
2
解决办法
1634
查看次数

以编程方式将预设传递给 babel

我正在努力以编程方式使用babel

"use strict";

const babel = require("babel-core")
    , es2015 = require("babel-preset-es2015")
    ;

babel.transformFile("my-file.js", {
   presets: [es2015]
}, (err, result) =>
  console.log(err || result)
);
Run Code Online (Sandbox Code Playgroud)

这以这个错误结束:

Couldn't find preset "es2015" relative to directory "/Users/myusername"

不过,我确实安装了babel-preset-es2015本地依赖项。如何解决这个问题?

我不想保留babel-preset-es2015babel-core作为项目的本地依赖项。

为什么会出现这个错误呢?

javascript node.js transpiler ecmascript-6 babeljs

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

将dart与node.js一起用作编译器

有没有办法将dart语言用于node.js?诸如现场脚本,咖啡脚本,打字稿等内容。

谢谢!

javascript node.js transpiler dart

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

从java调用包含'const'的javascript?

我正在尝试使用在 js 中开发并在 GitHub 中可用的转译工具。此转译器能够将 javascript 代码转换为 java。

我想通过java代码调用该工具,以便我可以在java中读取js文件并使用在js中开发的transpiler处理它们。该工具使用“const”作为其代码的一部分。在使用 ScriptEngine 时,它​​给了我一个例外。请帮忙!!

示例代码:

public static void main(String[] args) {

    ScriptEngineManager manager = null;
    ScriptEngine engine = null;
    File folder = null;

    try {

        manager = new ScriptEngineManager();
        engine = manager.getEngineByName("nashorn");
        String testConst1 = (String) "const pi = 3.14;";
        String testPrint1 = (String) "function hello(name) {print ('Hello, ' + name +' = '+ pi);}";
        engine.eval(testConst1);
        engine.eval(testPrint1);

        Invocable inv = (Invocable) engine;
        inv.invokeFunction("hello", "pi");
        // System.out.println(); //This one works.

    } catch (Exception e) …
Run Code Online (Sandbox Code Playgroud)

javascript java transpiler nashorn

5
推荐指数
2
解决办法
7470
查看次数

webpack 代码无法转译为 ES5

所以我现在已经经历了一些配置的变化,出于某种原因,某些 webpack 代码没有在生产中使用 babel-loader 转换为 es5 || 开发(指定是因为我知道webpack-dev-server删除了对它的支持

.babelrc看起来像这样:

{
  "plugins": ["transform-object-assign", "transform-async-to-generator", "transform-object-rest-spread", "transform-class-properties"],
  "presets": [
    ["env", {
      "targets": { "browsers": ["chrome >= 49", "firefox >= 54", "ie >= 9"] }
    }],
    "react"
  ]
}
Run Code Online (Sandbox Code Playgroud)

我已经按照文档的建议删除es2015并切换到presets -> env,但它也不适用于那里。

我的 webpack 配置如下所示:

  module: {
    rules: [{
      enforce: 'pre',
      test:    /\.(js|less|css)$/,
      exclude: [/node_modules/, /bower_components/],
      loader:  StringReplacePlugin.replace({ replacements })
    }, {
      test: /\.(html|svg)$/,
      use:  'raw-loader'
    }, {
      test:    /\.js$/,
      exclude: [/node_modules/, /bower_components/], …
Run Code Online (Sandbox Code Playgroud)

javascript internet-explorer transpiler webpack babeljs

5
推荐指数
0
解决办法
736
查看次数

ESLint 发现太多警告(最多:0)并且我无法在 firebase 函数上部署

我不确定是什么阻止我在 firebase 上部署 它阻止我部署到 firebase 功能。

\n\n
firebase deploy --only functions\n
Run Code Online (Sandbox Code Playgroud)\n\n

谁能帮我看看问题出在哪里

\n\n
  174:75  warning  Unexpected function expression      prefer-arrow-callback\n  190:28  warning  Unexpected function expression      prefer-arrow-callback\n  196:34  warning  Unexpected function expression      prefer-arrow-callback\n  239:36  warning  Unexpected function expression      prefer-arrow-callback\n  291:86  warning  Unexpected function expression      prefer-arrow-callback\n  297:26  warning  Unexpected function expression      prefer-arrow-callback\n  317:43  warning  Unexpected function expression      prefer-arrow-callback\n  378:31  warning  Don't make functions within a loop  no-loop-func\n  477:31  warning  Don't make functions within a loop  no-loop-func\n\n\xe2\x9c\x96 9 problems (0 errors, 9 warnings)\n …
Run Code Online (Sandbox Code Playgroud)

javascript transpiler firebase eslint google-cloud-functions

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

Javascript 查看原始(非源映射)源文件?

我有一个使用源映射的 JavaScript 应用程序。即,有为.map每个文件服务的.js文件。(这可能不相关,但特别是我通过 Babel 将 .jsx 和 ES6 转换为 ES5)。在 Chrome Dev Tools 中,源映射按预期加载。但是,有时在调试时,我想检查实际的原始转译代码。有没有办法切换到查看转译的代码?

javascript jsx google-chrome-devtools transpiler

5
推荐指数
0
解决办法
203
查看次数

Parcel + Babel 没有从 node_modules 转译 ES6?

我似乎无法让 Babel 与 Parcel 一起工作,尽管预设是自动安装的。它可以在本地和 Chrome 中运行,但它不会转译 node_modules es6 文件,因此输出仍然存在const/let/...并且无法在 Safari 中运行。

.babelrc

{
  "presets": ["@babel/preset-env","@babel/preset-react"]
}
Run Code Online (Sandbox Code Playgroud)

(我也试过envreact那些)。

package.json 脚本

"scripts": {
    "start": "parcel index.html",
    "build": "parcel build index.html",
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

完整的 package.json (注意这是为了让它工作而搞砸之后)

{
  "name": "my-react-app",
  "version": "1.0.0",
  "description": "",
  "main": "src/index.js",
  "scripts": {
    "start": "parcel index.html",
    "build": "parcel build index.html"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@babel/core": "^7.1.5",
    "@babel/preset-env": "^7.1.5",
    "@babel/preset-react": "^7.0.0",
    "axios": "^0.18.0",
    "babel-polyfill": "^6.26.0",
    "browserslist": "^4.3.4",
    "lodash": "^4.17.11",
    "node-sass": "^4.10.0", …
Run Code Online (Sandbox Code Playgroud)

transpiler reactjs babeljs parceljs

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

Gulp- Watchify 不会检测到子模块文件夹的更改

我的watchify-program未检测到子模块中的更改。

子模块位于 ../js/lib/melajs/**/*.js

browserify-program但是,当我运行它时,它会编译子模块。

下面是两个任务。

programAppjs: pathsBase+"js/app.js",

gulp.task("browserify-program",function(){
    //appname global variable set in previous task
    return browserify([paths.programAppjs])
    .bundle()
    .pipe(source('bundle.js'))
    .pipe(gulp.dest('./public/js'));
});

gulp.task("watchify-program",function(){
    var b = browserify({
        entries: [paths.programAppjs],
        cache: {},
        packageCache: {},
        plugin: [watchify]
    });

    b.on('update', bundle);
    b.on('log', function (msg) {console.log(time()+" "+ appname+" "+msg);})
    bundle();

    function bundle() {
        b.bundle().pipe(fs.createWriteStream('./public/js/bundle.js'));
    }
});
Run Code Online (Sandbox Code Playgroud)

应用程序.js

import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { createStore, applyMiddleware } from 'redux';
import { BrowserRouter, Route, …
Run Code Online (Sandbox Code Playgroud)

transpiler reactjs gulp watchify

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

babel 插件语法在哪里定义?

我正在构建一个 babel 插件,并且可以在 Babel 存储库中找到大量已编写插件的示例。

我找不到用于编写此类插件的权威 API 文档 - 特别是对于我可以对生成的 AST 执行的操作。

我检查过

只是列出几个地方。其中没有一个甚至定义了.get我在现有插件中经常调用的无处不在的方法,更不用说我可以在路径、节点、范围或绑定上调用的其他函数。

Babel 7 转换是否存在明确的文档来源?如果有,它在哪里?

javascript transpiler babeljs acorn

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