0
如何生成原始源代码(前Babel)源代码在生产中需要缩小/加粗ES 5,但在源代码中我们使用的是ES 6(和Babel转换)。UglifyJS(Grunt)
我试图找到正确的工作流程,以在转换后的代码上运行UglifyJS之后,将源映射保留到原始ES 6源代码。
我们正在使用GruntJS。
任何现有的解决方案?
如何生成原始源代码(前Babel)源代码在生产中需要缩小/加粗ES 5,但在源代码中我们使用的是ES 6(和Babel转换)。UglifyJS(Grunt)
我试图找到正确的工作流程,以在转换后的代码上运行UglifyJS之后,将源映射保留到原始ES 6源代码。
我们正在使用GruntJS。
任何现有的解决方案?
首先,一些构建配置会使问题更容易回答。但假设你分开运行Babel和Uglify。这样说:
grunt.initConfig({
babel: {
options: {
sourceMap: true
},
dist: {
files: {
"dist/app.js": "src/app.js"
}
}
},
uglify: {
my_target: {
files: {
'dist/app.min.js': ['dist/app.js']
}
}
}
});
您需要使用babel-plugin-uglify如下:
grunt.initConfig({
babel: {
options: {
sourceMap: true,
plugins: ["uglify:after"]
},
dist: {
files: {
"dist/app.min.js": "src/app.js"
}
}
}
});
谢谢!我会测试并更新。在我们目前的版本中,我们在uglifying之前删除了babel源地图。我们是否需要在uglify任务之后移动此步骤或将其完全移除? – krulik
不确定我明白为什么要在构建过程中删除babel源地图,如果你不想在某些流程中使用源地图(比如生产版本),最好在babel中关闭它们。 – mikeapr4
谢谢,你让我意识到它完全是多余的。这是巴贝尔最初探索的人造物。 – krulik