簡體   English   中英

如何制作一個JSON來放入src和dest地址,我們可以在我們的grunt.js中調用那個JSON?

[英]how to make a JSON for putting src and dest addresses in it and we can call that JSON in our grunt.js?

我正在制作建築工具的grunt ,直到現在我把srcdest地址直接放在我的grunt.js文件中但是在這種情況下,如果我想改變我的目標,我必須改變文件的每個任務,而不是好的做法。例如,如果我的grunt.js文件有以下任務:

concat: {
  js: {
    src: 'src/js/*.js',
    dest: 'dest/js/concat.js'
  },
  css: {
    src: 'src/css/*.css',
    dest: 'dest/css/concat.css'
  }
},
min: {
  js: {
    src: 'dest/js/concat.js',
    dest: 'dest/js/concat.min.js'
  }
},

在這里,如果我改變我的地址,我必須在每個地方改變! 我想要一個JSON文件,我可以在其中聲明src和dest並在我的grunt.js文件中調用。 我們怎么能這樣做?

例如,您可以向package.json添加屬性以聲明元數據

{
   "name": "test",
   "meta":{
     "src":"someSrcFolder",
     "dest":"someDestFolder"
   },
 ....
}

然后在你的Gruntfile.js ,你可以讀取這樣的屬性

grunt.initConfig({
  pkg: '<json:package.json>',
  concat: {
    js: {
      src: '<%= pkg.meta.src %>/js/*.js',
      dest: '<%= pkg.meta.dest %>/js/concat.js'
    },
    css: {
      src: '<%= pkg.meta.src %>/css/*.css',
      dest: '<%= pkg.meta.dest %>/css/concat.css'
    }
  }
});

重要的位是pkg:<json:package.json> ,它將json文件加載到內存中,下划線模板插值<%= pkg.meta.src %> ,它評估添加到json文件的meta屬性的內容。

請記住, Gruntfile只是一個JavaScript文件,因此您還可以擁有一個引用路徑的對象,然后將它們插入到您的任務中。

這在Grunt.js 0.4.0中有所改變。

您現在將使用: pkg: grunt.file.readJSON('package.json')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM