當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript mem-fs.create函數代碼示例

本文整理匯總了TypeScript中mem-fs.create函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript create函數的具體用法?TypeScript create怎麽用?TypeScript create使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了create函數的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: copyScaffold

  private async copyScaffold (): Promise<any> {
    const { proName, proPath, projectType, projectTypeTitle } = this.options

    // 內存編輯器
    const store = memFs.create()
    const fsEditor = editor.create(store)

    // 拷貝 project.common 腳手架模板
    fsEditor.copyTpl(
      util.getScaffoldPath(ScaffoldType.Project, 'common'),
      proPath,
      this.options,
      null,
      {
        globOptions: {
          dot: true
        }
      }
    )

    // 拷貝 project.type 腳手架模板
    fsEditor.copyTpl(
      util.getScaffoldPath(ScaffoldType.Project, projectType),
      proPath,
      this.options
    )

    return new Promise((resolve, reject) => {
      // 保存
      fsEditor.commit(() => {
        log.newline()
        log.msg(LogType.CREATE, `項目 "${proName}" in "${proPath}"`)

        // 輸入拷貝 或 新增 的日誌信息
        let files = glob.sync('**', {
          cwd: proPath
        })
        files.forEach(file => log.msg(LogType.COPY, file))

        log.msg(LogType.COMPLETE, `"${projectTypeTitle}"項目已創建完成`)
        resolve()
      })
    })
  }
開發者ID:bbxyard,項目名稱:bbxyard,代碼行數:44,代碼來源:init.ts

示例2: newPage

  /**
   * 新建頁麵腳手架模板
   *
   * @param {NewData} newData
   */
  private async newPage (newData: NewData) {
    let { pageName } = newData

    // 內存編輯器
    const store = memFs.create()
    const fsEditor = editor.create(store)

    // page 目標地址
    let destPagePath = util.getDestPagePath(pageName)

    // 驗證 page 目標地址
    if (fs.existsSync(destPagePath)) {
      log.output(LogType.ERROR, `創建失敗,因為頁麵 "${pageName}" 已經存在`, destPagePath)
      return
    }

    // 將 page 腳手架模板路徑下的文件拷貝到 page 目標路徑下
    fsEditor.copyTpl(
      util.getScaffoldPath(ScaffoldType.Page),
      destPagePath,
      newData
    )

    return new Promise((resolve, reject) => {
      // 提交編輯器信息
      fsEditor.commit(() => {
        log.newline()
        log.output(LogType.CREATE, `頁麵 "${pageName}"`, destPagePath)

        // 輸入拷貝 或 新增 的日誌信息
        glob.sync('**', {
          cwd: destPagePath
        }).forEach(file => log.msg(LogType.COPY, file))

        log.msg(LogType.COMPLETE, `頁麵 "${pageName}" 創建完成`)

        resolve()
      })
    })
  }
開發者ID:bbxyard,項目名稱:bbxyard,代碼行數:45,代碼來源:new.ts

示例3:

import * as fs from 'mem-fs';

const store: fs.Store = fs.create();
const file = store.get('hello');

const file2 = store.add(file)
    .each(file => console.dir(store.get(file.path)))
    .get('test');
開發者ID:CNBoland,項目名稱:DefinitelyTyped,代碼行數:8,代碼來源:mem-fs-tests.ts

示例4: constructor

 constructor () {
   const store = memFs.create()
   this.fs = editor.create(store)
   this.sourceRoot(path.join(getRootPath()))
   this.init()
 }
開發者ID:YangShaoQun,項目名稱:taro,代碼行數:6,代碼來源:creator.ts

示例5:

import { Transform } from 'stream';

import * as memFs from 'mem-fs';
import * as editor from 'mem-fs-editor';

const store = memFs.create();
const fs = editor.create(store);

fs.write('template.js', 'var a = 1; console.log(\'<%= foo %>\', a);');
fs.append('template.js', 'var b = 2;');

fs.copy('template.js', 'template.tpl', {
    globOptions: {
        cwd: '.'
    },
    process: (contents) => contents
});

fs.copyTpl('template.tpl', 'output.js', {
    foo: 'bar'
});

const obj = fs.readJSON('template.json');
fs.writeJSON('template.json', obj);

fs.writeJSON('template.json', 'qwer'); // should not be an error, because the parameter is passed to JSON.stringify and it accepts the string
// fs.extendJSON('template.json', 'qwer'); // should be an error, because it does not make sense to extend a json with string

// should accept both versions of commit - with filters and without:
const cb = (err: any) => ({adsf: 'adsf'});
fs.commit(cb);
開發者ID:CNBoland,項目名稱:DefinitelyTyped,代碼行數:31,代碼來源:mem-fs-editor-tests.ts

示例6:

import * as fs from 'mem-fs';

const store = fs.create();
const file = store.get('hello');

store.add(file, 'hahahahah');

store.each(file => console.dir(store.get(file.path)));
開發者ID:Q-Man,項目名稱:DefinitelyTyped,代碼行數:8,代碼來源:mem-fs-tests.ts

示例7: newPackage

  /**
   * 新建組件腳手架模板
   *
   * @param {NewData} newData
   */
  private async newPackage (newData: NewData) {
    let { pkgName, pkgNameSuffix } = newData
    // 內存編輯器
    const store = memFs.create()
    const fsEditor = editor.create(store)

    // package 目標地址
    let destPackagePath = util.getDestPackagePath(pkgName)

    // page 目標地址
    let destPagePath = util.getDestPagePath(pkgNameSuffix)

    // 驗證 package 目標地址
    if (fs.existsSync(destPackagePath)) {
      log.output(LogType.ERROR, `創建失敗,因為組件 "${pkgName}" 已經存在`, destPackagePath)
      return
    }

    // 驗證 page 目標地址
    if (fs.existsSync(destPagePath)) {
      log.output(LogType.ERROR, `創建失敗,因為頁麵 "${pkgNameSuffix}" 已經存在`, destPagePath)
      return
    }

    // 將 package 腳手架模板路徑下的文件拷貝到 package 目標路徑下
    fsEditor.copyTpl(
      util.getScaffoldPath(ScaffoldType.Package),
      destPackagePath,
      newData,
      null,
      {
        globOptions: {
          dot: true
        }
      }
    )

    // 創建並寫入 package/.npmignore 文件
    // fsEditor.write(
    //   util.getDestPackagePath(pkgName, '.npmignore'),
    //   'test\n*.log\n'
    // )

    // 將 example 腳手架模板路徑下的文件拷貝到 page 目標路徑下
    fsEditor.copyTpl(
      util.getScaffoldPath(ScaffoldType.Example),
      destPagePath,
      newData
    )

    return new Promise((resolve, reject) => {
      // 提交編輯器信息
      fsEditor.commit(() => {
        log.newline()
        log.output(LogType.CREATE, `組件 "${pkgName}"`, destPackagePath)
        // 輸入拷貝 或 新增 的日誌信息
        glob.sync('**', {
          cwd: destPackagePath
        }).forEach(file => log.msg(LogType.COPY, file))
        log.msg(LogType.COMPLETE, `組件 "${pkgName}" 創建完成`)

        log.newline()
        log.output(LogType.CREATE, `示例頁麵 "${pkgNameSuffix}"`, destPagePath)
        // 輸入拷貝 或 新增 的日誌信息
        glob.sync('**', {
          cwd: destPagePath
        }).forEach(file => log.msg(LogType.COPY, file))
        log.msg(LogType.COMPLETE, `示例頁麵 "${pkgNameSuffix}" 創建完成`)

        resolve()
      })
    })
  }
開發者ID:bbxyard,項目名稱:bbxyard,代碼行數:78,代碼來源:new.ts


注:本文中的mem-fs.create函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。