内部脚本文件中的Grunt Js文件路径修订版

时间:2015-12-24 09:55:49

标签: javascript json node.js gruntjs grunt-usemin

我正在尝试编写一个grunt任务,它会更改脚本文件中的参考文件路径,以便在开发和生产环境中都能正常工作。

不幸的是,这并没有更新我所指的JSON文件的引用路径。

开发环境

angular.module('appModernizationApp')
    .controller('DetailsCtrl', ['$scope', '$http', 'HRS', 
                                '$location', '$routeParams',
                                'breadcrumbs', 'UtilitiesService', 
function($scope, $http, HRS, $location, $routeParams, breadcrumbs, UtilitiesService) {

        if (breadcrumbs.breadcrumbs.length >= 3) {
            breadcrumbs.breadcrumbs.splice(1, 1);
        }

        $http.get('../../data/dropdown-data.json').success(function(data) {
            console.log("Data:" + JSON.stringify(data.dropdownData));
        });

在开发环境中,我必须使用 ../../ data / dropdown-data.json ,因为文件夹结构如下所示。此 JSON 文件在开发环境中的 scripts / controllers / details.js 下面的2个级别引用

Image showing from where data/dropdown-data.json is accessed from in development environment

如果我 ../ data / dropdown-data.json ,那么生产环境就可以了,因为压缩和连接后的文件夹结构如下所示。 JSON 文件的引用位于 scripts / scripts.js

下面的1级

Image showing from where data/dropdown-data.json is accessed from in production environment

我的生产代码仍然引用文件@ location:

$http.get('../../data/dropdown-data.json').success(function(data) {
    console.log("Data:" + JSON.stringify(data.dropdownData));
});

我想自动将其更改为 ../ data / dropdown-data.json

My Grunt Task:

filerev: {
      dist: {
        src: [
          '<%= yeoman.dist %>/scripts/{,*/}*.js',
          '<%= yeoman.dist %>/styles/{,*/}*.css',
          '<%= yeoman.dist %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}',
          '<%= yeoman.dist %>/styles/fonts/*'
        ]
      }
    },

usemin: {
      html: ['<%= yeoman.dist %>/{,*/}*.html'],
      css: ['<%= yeoman.dist %>/styles/{,*/}*.css'],
      js: ['<%= yeoman.dist %>/scripts/{,*/}*.js'],
      options: {
        assetsDirs: [
          '<%= yeoman.dist %>',
          '<%= yeoman.dist %>/images',
          '<%= yeoman.dist %>/styles'
        ],
        patterns: {
          js: [[/(images\/[^''""]*\.(png|jpg|jpeg|gif|webp|svg))/g,
              'Replacing references to images']]
        }
      }
    },

有没有办法实现自动化?

0 个答案:

没有答案