【问题标题】:gruntjs understanding the syntax - <%= less than percentage symbolgruntjs 理解语法 - <%= 小于百分比符号
【发布时间】:2016-08-25 10:17:10
【问题描述】:

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

};

然后提到:

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

我的问题:

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

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

【问题讨论】:

  • 同意上面的#2。我不得不谷歌“percent equals grunt”才能找到这个帖子。 &lt;%= 没有产生任何结果,因为它们是如何被搜索引擎使用的。

标签: javascript gruntjs javascript-objects


【解决方案1】:

看看documentation

Grunt 大约在 ES2015 之前。这就是为什么他们在字符串文字中发明了自己的模板分隔符,而不是使用正确的tagged template strings,这就是你现在解决模板的方式。

语法实际上只是 GruntJS 的东西,所以它既不是通用的,也没有其他项目真正使用它。甚至不是所有的 Grunt 项目都使用它,因为你可以set delimiters yourself

基本上,这意味着config.get 将扩展这些表达式。在内部,您应该能够编写任何有效的 JavaScript。在分隔符中,grunt 对象被公开,例如,您可以使用&lt;%=grunt.template.today("yyyy")%&gt; 之类的东西来模板当前年份。有关内部结构,另请参阅 config.getconfig.process

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多