如何设置 grunt + browserify + tsify + babelify?
how to set up grunt + browserify + tsify + babelify?
我正在努力设置 grunt + browserify + tsify + babelify(带调试)。
下面的 gruntfile 设置编译打字稿,但没有发生 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'。
问题是 grunt-browserify
加载了 transforms first and then the plugins,所以您想要做的 - 将转换放在插件之后 - 使用声明性配置是不可能的。
但是,您可以使用 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']
});
}
}
}
我正在努力设置 grunt + browserify + tsify + babelify(带调试)。
下面的 gruntfile 设置编译打字稿,但没有发生 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'。
问题是 grunt-browserify
加载了 transforms first and then the plugins,所以您想要做的 - 将转换放在插件之后 - 使用声明性配置是不可能的。
但是,您可以使用 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']
});
}
}
}