我正在尝试使用grunt-preprocess模块,但很难让ifdef工作。
这是我的gruntfile
module.exports = function(grunt) {
// Configuratuion goes here
grunt.initConfig({
preprocess : {
options: {
context : {
DEBUG: false
}
},
html : {
src : 'dev/index.html',
dest : 'dev/index.processed.html'
}
}
});
grunt.loadNpmTasks('grunt-preprocess');
grunt.registerTask('default', ['preprocess']);
}
这是我的HTML
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="wrap">
<!-- @ifdef DEBUG -->
<h1>Test Page</h1>
<!-- @endif -->
<!-- @exclude -->
<header>You're on dev!</header>
<!-- @endexclude -->
<p>Test Pragraph</p>
<div id="output"></div>
</div>
</body>
</html>
但是当我运行grunt时,DEBUG ifdef之间的代码没有被删除(尽管ifdef注释本身已被删除)
我有一种感觉,我错过了文档中未提及的一些关键步骤。
由于
答案 0 :(得分:1)
请参阅文档:
@ifdef VAR / @endif
这将包括封闭的块如果定义了VAR (typeof!=='undefined')
您的DEBUG
- Var已定义(其值为布尔值),因此您的块将被包含在内。完全删除它,它应该工作:
options: {
context : {}
}