【问题标题】:Grunt usemin processing paths located in js files?位于js文件中的Grunt usemin处理路径?
【发布时间】:2023-03-25 21:44:01
【问题描述】:

目前我有一些看起来像这样的 html 文件:

 <!-- build:js({.tmp,app}) scripts/moduleX-scripts.js -->
  <script src="scripts/moduleX/moduleXConfig.js"></script>
  <script src="scripts/moduleX/featureX/controller.js"></script>
  <script src="scripts/moduleX/featureX/service.js"></script>
  <script src="scripts/moduleX/featureY/controller.js"></script>
  <script src="scripts/moduleX/featureY/service.js"></script>
  <!-- endbuild -->

 <!-- build:js({.tmp,app}) scripts/moduleY-scripts.js -->
  <script src="scripts/moduleY/moduleYConfig.js"></script>
  <script src="scripts/moduleY/featureW/controller.js"></script>
  <script src="scripts/moduleY/featureW/service.js"></script>
  <script src="scripts/moduleY/featureZ/controller.js"></script>
  <script src="scripts/moduleY/featureZ/service.js"></script>
  <!-- endbuild -->

由于这是一个 Angular 应用程序,我想使用 ocLazyLoad 来管理我的模块,所以我的配置看起来像这样:

angular.module('MyMainModule', [
  {
    name: 'moduleX',
    files: [
      'scripts/moduleX/moduleXConfig.js',
      'scripts/moduleX/featureX/controller.js',
      'scripts/moduleX/featureX/service.js',
      'scripts/moduleX/featureY/controller.js',
      'scripts/moduleX/featureY/service.js',
    ]
  },
  {
    name: 'moduleY',
    files: [
      'scripts/moduleY/moduleYConfig.js',
      'scripts/moduleY/featureW/controller.js',
      'scripts/moduleY/featureW/service.js',
      'scripts/moduleY/featureZ/controller.js',
      'scripts/moduleY/featureZ/service.js',
    ]
  }
  ])

是否有任何 grunt 插件可以处理此 .js 文件并将files 数组替换为缩小和修订版本?

【问题讨论】:

  • 嘿@gerasalus,我被这件事困住了。你能想出解决办法吗?

标签: angularjs gruntjs grunt-usemin


【解决方案1】:

您可以使用grunt-contrib-uglifyjs 来缩小您的文件。

grunt.initConfig({
  uglify: {
    moduleX: {
      files: {
        'scripts/moduleX.min.js': ['scripts/moduleX/*.js']
      }
    },
    moduleY: {
      files: {
        'scripts/moduleY.min.js': ['scripts/moduleY/*.js']
      }
    }
  }
});

您需要做的唯一更改是在您的模块目录中包含一个声明您的模块的文件。例如,在scripts/moduleX 目录中,您将拥有以下文件:

// scripts/modeulX.js
angular.module('moduleX', []);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 2015-10-10
    相关资源
    最近更新 更多