我正在努力设置 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”。
最佳答案
问题是 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']
});
}
}
}
关于gruntjs - 如何设置 grunt + browserify + tsify + babelify?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40182786/