1

私は角度のあるアプリケーションを開発しており、ejs を使用してテンプレートを作成し、ファイルを concat(js, css) 縮小 (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>

うなり声ファイル:

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 は、インクルードの前にある index.ejs ファイル内のコードと、最初にインクルードされたファイル (header.ejs) の最初の 2 行が縮小された app-ejs.html からファイルを作成します。html コードの残りの部分はそのままです。

これを解決するにはどうすればよいですか?

ありがとう!

4

0 に答える 0