grunt-depend-concat不会将@depend标记替换为文件内容

时间:2015-05-04 18:54:14

标签: gruntjs concatenation

我正在尝试使用grunt-depend-concat在我的site.js文件中使用@depend标记创建一个包含所有依赖项内容的site.uncompressed.js文件。正在创建目标文件,但@depend注释仍位于文件的顶部。我正确使用这个咕噜包吗?我的代码有问题吗?如果我仍然可以使用@depend标记,那么我对替代Grunt包是开放的,但是grunt包文档相当稀疏,我可以弄清楚如何做到这一点。

site.js(部分):

/**
 * @depend vendor/jquery-1.11.1.min.js
 * @depend vendor/jquery.smooth-scroll-1.4.13.min.js
 […]
 */

[…]

Gruntfile.js:

(function () {
    'use strict';
}());

module.exports = function (grunt) {
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),

        filepaths: {
            assetDir: 'httpdocs/files/assets/',
            jsDir: '<%= filepaths.assetDir %>' + 'js/',
            jsSrc: '<%= filepaths.jsDir %>' + 'site.js',
            jsComb: '<%= filepaths.jsDir %>' + 'site.uncompressed.js',
            jsMin: '<%= filepaths.jsDir %>' + 'site.min.js';
        },

    'depend-concat': {
        depend_doctag: {
            options: {
                method: {
                    type: 'doctag',
                    tag: 'depend'
                }
            },
            src: ['<%= filepaths.jsSrc %>'],
            dest: '<%= filepaths.jsComb %>'
        },
    },
    uglify: {
        options: {
            preserveComments: false,
            banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */',
            sourceMap: true
        },
        dist: {
            files: {
                '<%= filepaths.jsMin %>': ['<%= filepaths.jsComb %>']
            }
        }
    }
});

require('load-grunt-tasks')(grunt);
grunt.registerTask('default', ['jshint', 'depend-concat', 'uglify']);
};

Grunt输出:

  

运行“jshint:files”(jshint)任务

     

&GT;&GT; 2个文件lint free。

     

运行“depend-concat:depend_doctag”(depend-concat)任务文件   “的httpdocs /文件/资产/ JS / site.uncompressed.js”   创建

     

运行“uglify:dist”(uglify)任务

     

&GT;&GT;创建了1个源图。

     

&GT;&GT;创建了1个文件。

     

完成,没有错误。

site.uncompressed.js(部分):

/**
 * @depend vendor/jquery-1.11.1.min.js
 * @depend vendor/jquery.smooth-scroll-1.4.13.min.js
 […]
*/

1 个答案:

答案 0 :(得分:0)

不幸的是,我无法让这个Grunt插件正常工作,所以我放弃了在site.js文件中使用带有@depend规则的grunt-depend-concat。

我在Gruntfile中添加了一个文件路径部分,然后使用了grunt-contrib-concat插件。