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

Wei*_*eng 4 javascript javascript-objects gruntjs

以下是来自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']);

};
Run Code Online (Sandbox Code Playgroud)

然后提到:

由于<%%>模板字符串可能引用任何配置属性,因此可以通过这种方式指定配置数据(如文件路径和文件列表)以减少重复.

我的问题:

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

  2. 您搜索神秘符号解释的一般方法是什么?如果我在google/stackoverflow中搜索这些字符串(" <%="," <%",包括引用与否),基本上不会出现合理的结果.

Chi*_*iru 7

看看文档.

Grunt在ES2015之前.这就是为什么他们在字符串文字中发明了自己的模板分隔符而不是使用正确的标记模板字符串,这就是现在如何解决模板问题.

语法实际上只是一个GruntJS的东西,因此它既不是通用的,也不是其他项目真正使用它.甚至并非所有Grunt项目都使用它,因为您可以自己设置分隔符.

基本上,这意味着config.get将扩展这些表达式.在里面,你应该能够编写任何有效的JavaScript.在分隔符中,grunt对象被公开,这使您可以使用类似于<%=grunt.template.today("yyyy")%>当前年份的模板.另请参阅内部的config.getconfig.process.

至于你的第二个问题,很多时候你可以把符号写成单词并在你最喜欢的搜索引擎中输入.有时,您将首先了解这些符号可能/应该是什么意思,概念方面; 你的问题甚至将它们称为"模板字符串",这是一种语法编程概念,你可以用Google搜索来找到答案.