Gruntjs 如何在UglifyJS(Grunt)之后为原始(巴别塔之前)源生成源映射

Gruntjs 如何在UglifyJS(Grunt)之后为原始(巴别塔之前)源生成源映射,gruntjs,babeljs,source-maps,uglifyjs,Gruntjs,Babeljs,Source Maps,Uglifyjs,我们生产中的代码需要缩小/丑化ES 5,但在源代码中我们使用ES 6(并使用巴贝尔转换) 在传输的代码上运行UglifyJS后,我正在试图找到正确的工作流程来维护原始ES 6源代码的源映射 我们正在使用GruntJS 任何现有的解决方案?首先,一些构建配置将使问题更容易回答。但假设你分别经营巴贝尔和丑八怪。这样说: grunt.initConfig({ babel: { options: { sourceMap: true }, dist: {

我们生产中的代码需要缩小/丑化ES 5,但在源代码中我们使用ES 6(并使用巴贝尔转换)

在传输的代码上运行UglifyJS后,我正在试图找到正确的工作流程来维护原始ES 6源代码的源映射

我们正在使用GruntJS


任何现有的解决方案?

首先,一些构建配置将使问题更容易回答。但假设你分别经营巴贝尔和丑八怪。这样说:

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']
      }
    }
  }      
});
您需要按如下方式使用:

grunt.initConfig({
  babel: {
    options: {
      sourceMap: true,
      plugins: ["uglify:after"]
    },
    dist: {
      files: {
        "dist/app.min.js": "src/app.js"
      }
    }
  }      
});

谢谢我将对此进行测试并更新。在我们当前的构建中,我们在丑化之前删除了巴别塔源地图。我们需要在丑陋的任务之后移动这个步骤还是完全删除它?我不知道你为什么要在构建过程中删除babel源映射,如果你不想在某些流(比如生产构建)中使用源映射,你最好在babel中关闭它们。谢谢,你让我意识到它是完全多余的。这是巴别塔最初探索的产物。不幸的是,这个插件不适用于巴别塔6。