browserify + tsify + babelify; 巴贝尔被忽视了

zzr*_*zrv 10 javascript browserify typescript gulp babeljs

我想浏览,tsify和babelify我的代码.Browserify和其他一个开发者工作,但他们在一起.Babel似乎被忽略了(甚至没有读过.babelrc).

我有以下gulp代码:

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);
Run Code Online (Sandbox Code Playgroud)

有了这个babelrc

{
   "presets": ["minify"]
}
Run Code Online (Sandbox Code Playgroud)

和那些依赖

"@babel/core": "^7.2.2",
"babel-preset-minify": "^0.5.0",
"babelify": "^10.0.0",
"browserify": "^16.2.3",
"gulp": "^4.0.0",
"tsify": "^4.0.1",
"typescript": "^3.2.2",
"vinyl-source-stream": "^2.0.0"
Run Code Online (Sandbox Code Playgroud)

如上所述即使我将babelrc更改为类似下面的内容我也没有错误,它只是没有缩小代码.

zzr*_*zrv 5

虽然我不完全知道为什么上面的代码不起作用,但我找到了一个替代方法。

使用此处提供的设置。请注意,为了使其正常工作,您必须module将 tsconfig 中键的值更改为es5(而不是es6)。所以它看起来像这样:

{
    "compilerOptions": {
        "outDir": "build",
        "module": "es5",
        "moduleResolution": "node",
        "target": "es6"
    }
}
Run Code Online (Sandbox Code Playgroud)