私は角度のあるアプリケーションを開発しており、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 コードの残りの部分はそのままです。
これを解決するにはどうすればよいですか?
ありがとう!