以下是http://gruntjs.com/getting-started的示例gruntjs
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
build: {
src: 'src/<%= pkg.name %>.js',
dest: 'build/<%= pkg.name %>.min.js'
}
}
});
// Load the plugin that provides the "uglify" task.
grunt.loadNpmTasks('grunt-contrib-uglify');
// Default task(s).
grunt.registerTask('default', ['uglify']);
};
然后提到:
因为模板字符串可以引用任何配置属性,所以可以通过这种方式指定配置数据(如文件路径和文件列表)以减少重复。
我的问题:
<%= %>
是什么意思?它是gruntjs语法还是在其他地方普遍使用?在哪里可以找到它的定义? <%=
”,“<%
”,包括引号或不包括引号),则基本上不会得出合理的结果。 最佳答案
看看documentation。
Grunt大约在ES2015之前。这就是为什么他们在字符串文字中发明了自己的模板分隔符,而不是使用适当的tagged template strings的原因,这就是当今解决模板问题的方式。
语法实际上只是GruntJS的东西,所以它既不是通用的,也不是其他项目真正使用它的。甚至不是所有的Grunt项目都使用它,因为您可以set delimiters yourself。
基本上,这意味着config.get
将扩展这些表达式。在内部,您应该能够编写任何有效的JavaScript。在分隔符中,暴露了grunt
对象,例如,它使您可以使用<%=grunt.template.today("yyyy")%>
这样的对象来模板化当前年份。有关内部结构,另请参见config.get和config.process。
至于第二个问题,很多时候您可以将符号写为单词并将其输入您喜欢的搜索引擎中。有时,您将首先从概念上理解这些符号的含义。您的问题甚至将它们称为“模板字符串”,这是一种语法编程概念,您可以使用googled找到答案。