Grunt htmlmin仅缩小ejs文件中的第一个模板

时间:2016-01-21 13:33:57

标签: html gruntjs ejs grunt-contrib-htmlmin

我正在开发一个角度应用程序,并使用ejs创建模板和grunt以连接(js,css)minify(js,css和html)和uglify(js)文件。

index.ejs:

<!DOCTYPE html>
<html>
    <head lang="en">
        <!-- head tags -->
        <% if(isDev) { %>
        <!-- css links for dev-->
        <% } else { %>
        <!-- css links for production-->
        <% } %>
    </head>

    <body >
        <div ng-app="app">
            <ng-view ></ng-view>
            <%- include header.ejs %>
            <!-- more ejs templates... -->
        </div>
        <% if(isDev) { %>
            <!-- JS scripts for dev-->
        <% } else { %>
        <script type="text/javascript" src="/js/app.min.js"></script>
        <% } %>
    </body>
</html>

grunt文件:

module.exports = function (grunt) {
grunt.initConfig({
    rootSource: __dirname + '/public',
    rootTarget: __dirname + '/dist',
    concat:     {
        //Concatenating the css and js
    },
    uglify:     {
        //Uglifies the js files - works fine
    },
    cssmin:     {
        //Minifies CSS files - works fine
    },
    ejs:        {
        app: {
            options: {isDev: false},
            src:['<%= rootSource %>/html/index.ejs'],
            dest:    '<%= rootTarget %>/views/app-ejs.html'
        }            
    },
    htmlmin:{
        dist: {
            options: {
                removeComments:     true,
                collapseWhitespace: true
            },
            files:   {
                '<%= rootTarget %>/views/app.html': '<%= rootTarget %>/views/app-ejs.html'
            }
        }
    },
    clean:[] //Clean files        
});
// Load the plugin that provides the "uglify" task.
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-ejs');
grunt.loadNpmTasks('grunt-contrib-htmlmin');
grunt.loadNpmTasks('grunt-contrib-clean');
// Default task(s).
grunt.registerTask('default', ['concat', 'uglify', 'cssmin', 'ejs', 'htmlmin', 'clean']);
};};

ejs工作正常并创建app-ejs.html文件。 htmlmin从app-ejs.html创建一个文件,其中只包含index.ejs文件中的包含在包含之前的代码以及第一个包含文件(header.ejs)缩小的前2行。其余的html代码没有动过。

我该如何解决这个问题?

谢谢!

0 个答案:

没有答案