2017-04-24 66 views
0

如何生成原始源代码(前Babel)源代码在生产中需要缩小/加粗ES 5,但在源代码中我们使用的是ES 6(和Babel转换)。UglifyJS(Grunt)

我试图找到正确的工作流程,以在转换后的代码上运行UglifyJS之后,将源映射保留到原始ES 6源代码。

我们正在使用GruntJS。

任何现有的解决方案?

回答

1

首先,一些构建配置会使问题更容易回答。但假设你分开运行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" 
     } 
    } 
    }  
}); 
+0

谢谢!我会测试并更新。在我们目前的版本中,我们在uglifying之前删除了babel源地图。我们是否需要在uglify任务之后移动此步骤或将其完全移除? – krulik

+0

不确定我明白为什么要在构建过程中删除babel源地图,如果你不想在某些流程中使用源地图(比如生产版本),最好在babel中关闭它们。 – mikeapr4

+0

谢谢,你让我意识到它完全是多余的。这是巴贝尔最初探索的人造物。 – krulik