browserify + tsify + babelify;通天塔被忽略

时间:2018-12-28 20:15:07

标签: javascript typescript gulp babeljs browserify

我想对我的代码进行浏览器,tsify和babelify。 Browserify和其他编译器之一正常工作,但它们却没有一起工作。 Babel似乎被忽略了(甚至不读.babelrc)。

我有以下gulp代码:

DownloadManager.Request downloadRequest = new DownloadManager.Request(uri);

downloadRequest.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE);
downloadRequest.setTitle(currentApp.getAppNameEng());

downloadRequest.setDestinationInExternalPublicDir(
      Environment.DIRECTORY_DOWNLOADS,
      currentApp.getAppNameEng() + ".apk"
);

final DownloadManager downloadManager =
                (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
downloadID = downloadManager.enqueue(downloadRequest);

有了这个babelrc

const gulp = require("gulp");
const browserify = require("browserify");
const source = require('vinyl-source-stream');
const tsify = require("tsify");
const babelify = require("babelify");

function build() {

  var b = browserify({
    basedir: '.',
    debug: true,
    cache: {},
    entries: ['src/index.ts'],
    packageCache: {}
  });

  return b
    .plugin(tsify)
    .transform(babelify)
    .bundle()
    .on("error", function (err) { console.log("Error: " + err.message); })
    .pipe(source('build.js'))
    .pipe(gulp.dest("build"));
 }

 gulp.task("build", build);

那些依赖项

{
   "presets": ["minify"]
}

如前所述,即使我将babelrc更改为以下内容,也不会出错,只是不会缩小代码。

1 个答案:

答案 0 :(得分:4)

尽管我不太清楚为什么上面的代码不起作用,但我找到了替代方法。

使用here提供的设置。请注意,为了使其正常工作,您必须将tsconfig中的if not x: ...键的值更改为module(而不是es5)。这样看起来像这样:

es6