2016-04-30 8 views
4

それは次に挙げる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/stackoverflowで検索すると、これらの文字列( "<%="、 "<%"、引用符を含むかどうかなど)は、基本的に合理的な結果は出ません。

+0

上記#2で合意しました。私はこのスレッドを見つけるためにGoogleに "パーセントのイライラと等しい"を持っていなければなりませんでした。 '<%='は検索エンジンでどのように使われているかによって何も得られませんでした。 – atconway

答えて

7

documentationをご覧ください。

グレントはES2015より前です。これは、適切なtagged template stringsに行くのではなく、文字列リテラル内に独自のテンプレートデリミタを作成した理由です。これは、現在テンプレート化を解決する方法です。

構文は本当に単なるGruntJSのものなので、普遍的でも他のプロジェクトでも実際に使用しているわけではありません。あなたはset delimiters yourselfができるので、Gruntプロジェクトでもそれを使用しているわけではありません。

基本的には、config.getがこれらの式を展開することを意味します。内部では、有効なJavaScriptを書くことができるはずです。デリミタ内でgruntオブジェクトが公開されています。これにより、今年のテンプレートに<%=grunt.template.today("yyyy")%>のようなものを使用できます。内部についてはconfig.getおよびconfig.processも参照してください。

2番目の質問では、記号を単語として書き出し、お気に入りの検索エンジンに入力することができます。そして、時には、これらのシンボルが最初に意味することができる/意味すべきものをコンセプトに沿って理解することがあります。あなたの質問は、答えを見つけるのにgoogledを持つことができる構文的プログラミングの概念である "テンプレート文字列"としてそれらを参照することさえできます。

関連する問題