javascript - js は設定ファイルに基づいてディレクトリ構造を自動的に生成します
typecho
typecho 2017-06-24 09:43:49
0
3
1564

現在コンポーネント ライブラリを初期化しています。柔軟性を高めるためには、迅速に初期化できるディレクトリ構造が必要です。現在使用されている angular2
ディレクトリ構造構成ファイルは次のとおりです

グリッド
-
- グリッド
-

このようにして、
grid.config.ts
grid.module.ts
index.ts
STATION.md
col.component.ts,
col を生成したいと考えています。 .component .html,
col.component.scss,
grid.component.ts,
...

github でファイルマップと baya も探しました。
ファイルマップはテストされましたが、もう使用できません。
baya フォルダーは生成できますが、ファイルは生成できません。

テンプレート ファイルを json に作成し、gulp を使用してそれを読み取ることを計画しているかもしれません。
しかし、それはツリーほど直感的ではありません

誰か解決策や私の解決策に対する提案を持っていますか

typecho
typecho

Following the voice in heart.

全員に返信(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);
        })
      }
    });
  });
});

いいねを押す +0
漂亮男人

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

いいねを押す +0
typecho

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!