使用注释

时间:2018-04-25 11:08:57

标签: gruntjs sapui5

我正在为我的应用程序开发一些性能方面的工作,因此,尝试从构建应用程序时生成的Component-preload.js文件中删除注释(我基本上是试图对组件进行预处理)

为此,我首先尝试使用"@sap/grunt-sapui5-bestpractice-build",因为在其文档中声明有一个uglify,但不幸的是它没有删除注释。

现在,我正在使用外部插件来实现这一目标,但似乎只是“不可能”。

目前这是gruntfile.js

"use strict";

// Initial standard SAP Plugin
grunt.loadNpmTasks("@sap/grunt-sapui5-bestpractice-build");

// Copy plugin configuration
var copyConfig = { 
  copy: {
    main: {
      expand: true,
      cwd: 'webapp/controller',
      src: '**',
      dest: 'webapp/aux',
    }
  }       
};
grunt.config.merge(copyConfig);
grunt.loadNpmTasks("grunt-contrib-copy");

// Uglify plugin configuration
var uglifyConfig = {
  uglify: {
    dist: {
      options:{
        mangle:false
      },
      output: {
        comments: false
      },
      files: [{
        expand: true,
        cwd: 'webapp/controller',
        src: '**/*.js',
        dest: 'webapp/controller'
      }]
    }
  }
};  
grunt.config.merge(uglifyConfig);
grunt.loadNpmTasks("grunt-contrib-uglify");

// Move plugin configuration
var moveConfig = { 
  move: {
    main: {
      src: 'webapp/aux/*',
      dest: 'webapp/controller/'
    }
  }
};
grunt.config.merge(moveConfig);
grunt.loadNpmTasks("grunt-move");

// Custom clean plugin configuration
var cleanConfig = {
  clean: {
    custom: {
      src: 'webapp/aux'
    }
  }
};
grunt.config.merge(cleanConfig);
grunt.loadNpmTasks("grunt-contrib-clean");

grunt.registerTask("default", [
  "clean",
  "lint",
  "copy",
  "uglify",
  "build",
  "move",
  "clean:custom"
]);

如你所见,我基本上是:

  • 使用评论复制来源。
  • 将原始文件弄清楚。
  • 调用构建版(期望它使用uglified来源生成Component-preload.js而不发表评论)
  • 将具有注释的内容再次恢复到“Controller”文件夹中。

此时,我不知道IDE使用哪些文件来生成Component-preload.js,因为我甚至尝试使用以下内容进行构建:

  1. 移动:将文件从“Controller”文件夹移动到辅助文件夹。
  2. 构建:期望构建崩溃或至少在Component-preload.js中没有任何控制器
  3. 但是这个测试的结果是创建了Component-preload.js并且它包含控制器代码,所以在启动整个过程之前,IDE似乎保存了所有文件的副本。

    你能帮助我理解这个吗?或者至少,我如何从生成的Component-preload.js文件中删除注释?

    如果我没有解释清楚的话,请提前致谢并对不起。

    氪, 佩德罗。

0 个答案:

没有答案