gruntjs理解语法 - <%=小于百分比符号

问题描述:

以下是从http://gruntjs.com/getting-startedgruntjs理解语法 - <%=小于百分比符号

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然后它提到:

由于<%%>模板字符串可能引用任何配置属性,像文件路径和文件列表这样的配置数据可以用这种方式指定,以减少重复。

我的问题:

  1. 是什么<%= %>是什么意思?它是gruntjs语法还是其他地方普遍使用?我在哪里可以找到它的定义?

  2. 什么是您寻找神秘符号解释的一般方法?如果我在google/*中搜索这些字符串(“<%=”,“<%”,包括引用或不),基本上没有合理的结果出现。

+0

同意上述#2。我不得不谷歌“百分之等于咕噜”来找到这个线程。 ' atconway

看看documentation

Grunt大约在ES2015之前。这就是为什么他们在字符串文字内部发明了自己的模板分隔符,而不是正确的tagged template strings,这就是现在如何解决模板的问题。

语法实际上只是一个GruntJS的东西,所以它既不是普遍的,也不是其他项目真的使用它。即使所有Grunt项目都使用它,因为您可以使用set delimiters yourself

基本上,这意味着config.get将展开这些表达式。在里面,你应该可以写任何有效的JavaScript。在分隔符中,grunt对象已公开,因此您可以使用诸如<%=grunt.template.today("yyyy")%>之类的内容来模板化当前年份。内部参见config.getconfig.process

至于你的第二个问题,很多时候你可以把这些符号写成单词并输入到你最喜欢的搜索引擎中。有时候,您将首先理解这些符号可能/应该表示什么,从概念上讲,你的问题甚至将它们称为“模板字符串”,这是一种语法编程概念,你可以通过它来找到答案googled