cari

Rumah  >  Soal Jawab  >  teks badan

javascript - js secara automatik menjana struktur direktori berdasarkan fail konfigurasi

Kami sedang memulakan perpustakaan komponen Untuk menjadi fleksibel, kami memerlukan struktur direktori permulaan yang cepat. Fail konfigurasi struktur direktori angular2
yang sedang digunakan mungkin seperti berikut

+ grid+ grid
- col
- grid
- - col

< kod>- grid

- baris

Dengan cara ini, kami berharap dapat menjana
grid.config.ts
grid.module.ts
index.ts
STATION.md
col.component.ts,
col.component.html,
col.component.scss,

grid.component .ts,

...

Saya juga mencari filemap dan baya di github

filemap telah diuji dan tidak boleh digunakan lagi

folder baya boleh dijana, tetapi fail tidak boleh dijana

Saya mungkin merancang untuk menjadikan fail templat menjadi json dan menggunakan tegukan untuk membacanya,

tetapi ia tidak seintuitif pokok

🎜Adakah sesiapa mempunyai penyelesaian atau sebarang cadangan untuk penyelesaian saya🎜
typechotypecho2709 hari yang lalu1676

membalas semua(3)saya akan balas

  • 给我你的怀抱

    给我你的怀抱2017-06-24 09:45:49

    Saya membuat versi mudah, tetapi saya belum mempertimbangkan struktur direktori fail berbilang lapisan lagi, dan saya belum menggunakan rekursi lagi

    const gulp = require('gulp');
    const fs = require('fs');
    const path = require('path');
    const mkdirp = require('mkdirp');
    
    function writeFile(i) {
      if (!fs.existsSync(i)) {
        fs.writeFile(i, '', 'utf-8');
      }
    }
    function pack(i) {
      return ['index.ts', 'STATION.md'].concat(i + '.config.ts', i + '.module.ts');
    }
    function createList(path) {
      return [].concat(path + '.component.ts', path + '.component.html', path + '.component.scss')
    }
    function splitFlag(value, flag) {
      return value.split(flag)[1].replace(/\s+/g, "");
    }
    
    gulp.task('try', function () {
      const paths = path.join(__dirname, "./tempalte");
      fs.readFile(paths, 'utf-8', function (err, data) {
        if (err) throw err;
        const array = data.split('\n');
        array.forEach(f![图片描述][1]unction (i) {
          if (i.indexOf('+') > -1) {
            const folder = splitFlag(i, '+');
            mkdirp(folder);
            pack(folder).forEach(function (item) {
              writeFile(folder + '/' + item);
            })
          }
        });
        var parent;
        array.forEach(function (i) {
          if (i.indexOf('+') > -1) {
            parent = splitFlag(i, '+');
          } else {
            const pa = parent + '/' + splitFlag(i, '-');
            createList(pa).forEach(function (item) {
              writeFile(item);
            })
          }
        });
      });
    });

    balas
    0
  • 漂亮男人

    漂亮男人2017-06-24 09:45:49

    Tulis sendiri fungsi pembantu Node, baca fail konfigurasi langkah demi langkah, dan jana fail dan folder yang diperlukan. Hanya berulang.

    balas
    0
  • typecho

    typecho2017-06-24 09:45:49

    Tulis sendiri menggunakan modul fs, jangan malas

    balas
    0
  • Batalbalas