javascript – js generiert automatisch eine Verzeichnisstruktur basierend auf der Konfigurationsdatei
typecho
typecho 2017-06-24 09:43:49
0
3
1651

Wir initialisieren derzeit die Komponentenbibliothek. Um flexibel zu sein, benötigen wir eine schnelle Initialisierungsverzeichnisstruktur. Die Konfigurationsdatei der aktuell verwendeten Angular2-Verzeichnisstruktur kann wie folgt aussehen:
+ Raster

- col

< code>- Grid+ grid
- col
- grid
- - row

Auf diese Weise hoffen wir,
grid.config.ts
grid.module.ts
index.ts
STATION.md
col.component.ts,
col.component.html,
col.component.scss zu generieren.
grid.component .ts,
...

Ich habe auch auf Github nach Filemap und Baya gesucht.
Filemap wurde getestet und kann nicht mehr verwendet werden.
Baya-Ordner kann nicht generiert werden

Ich habe vielleicht vor, die Vorlagendatei in JSON umzuwandeln und gulp zum Lesen zu verwenden,

aber es ist nicht so intuitiv wie ein Baum

Hat jemand eine Lösung oder Vorschläge für meine Lösung

typecho
typecho

Following the voice in heart.

Antworte allen(3)
给我你的怀抱

做了一个浅显的版本,对于多层文件目录的结构还没有考虑好,暂时还没用递归

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);
        })
      }
    });
  });
});

漂亮男人

自己写一个 Node 辅助函数,逐级读取配置文件,生成需要的文件和文件夹就可以啦。就递归一下下。

typecho

自己用fs模块写一个嘛,不要偷懒

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!