2

我正在努力设置 grunt + browserify + tsify + babelify (带调试)。

下面的 gruntfile 设置确实编译了 typescript,但没有发生 babel 转换。

任何人都可以让我知道如何做到这一点?(我可能需要使用 gulp 来做到这一点??)

        browserify: {
        main: {
            src: 'app/scripts/main.ts',
            dest: 'app/scripts/bundle.js',
        },
        options: {
            browserifyOptions: {
                plugin: [['tsify']],
                transform: [['babelify', {presets: ['es2015'], extensions: ['.ts']}]],
                debug: true
            }
        }
    }

tsconfig.json 的目标设置为“es2015”。

4

1 回答 1

3

问题是首先grunt-browserify加载转换然后加载插件,所以你想要做的 - 将转换放在插件之后 - 使用声明性配置是不可能的。

但是,您可以使用该grunt-browserify configure函数并在所述函数中设置插件和转换:

browserify: {
    main: {
        src: 'app/scripts/main.ts',
        dest: 'app/scripts/bundle.js',
    },
    options: {
        browserifyOptions: {
            debug: true
        },
        configure: function (bundler) {

            bundler.plugin(require('tsify'));
            bundler.transform(require('babelify'), {
                presets: ['es2015'],
                extensions: ['.ts']
            });
        }
    }
}
于 2016-10-21T22:32:56.873 回答