首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用gulp和tsify和babelify不是运行babel

使用gulp和tsify和babelify不是运行babel
EN

Stack Overflow用户
提问于 2016-06-15 14:38:51
回答 1查看 2.5K关注 0票数 3

我有以下gulp任务(包括所要求的所有需求):

代码语言:javascript
复制
const gulp = require("gulp");
const browserify = require("browserify");
const tsify = require("tsify");
const sass = require('gulp-sass');
const fs = require('fs');
const uglify = require('gulp-uglify');
const tslint = require('gulp-tslint');
const gutil = require('gulp-util');
const babelify = require("babelify");

gulp.task('js', function () {
    return browserify({
        entries: paths.ts + 'App/start.ts',
        debug: true
    }).plugin("tsify")
        .transform(babelify.configure({
            presets: ["es2015"]
        }))
        .bundle()
        .on('error', swallowError)
        .pipe(fs.createWriteStream(jsOutput + "app.js"));
});

包含在package.json中的所有必需模块,包括babel-预设-es2015。然而,babelify转换根本没有做任何事情,以至于我可以将"es2015“更改为任何内容,并得到完全相同的结果(es6输出)。

我尝试过包含一个预置未起作用的.babelrc文件,以及几种指定babelify转换的不同方法,包括添加.ts文件扩展名。

我的tsconfig.json有以下内容:

代码语言:javascript
复制
"compilerOptions": {
    "target": "es6",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false
}

它将输出类型指定为ES6。

在此过程中不会抛出错误,并且类型记录被完全转换,我只剩下ES6代码。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-11 08:16:49

您必须告诉Babelify关于要考虑的文件扩展名,在本例中,这是.ts for TypeScript:

代码语言:javascript
复制
// ...
.transform(babelify, {
    presets: ['es2015'],
    extensions: ['.js', '.ts'] // <-- I have added .js and .ts
})
// ...
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37838549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档