当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript mem-fs-editor.create函数代码示例

本文整理汇总了TypeScript中mem-fs-editor.create函数的典型用法代码示例。如果您正苦于以下问题:TypeScript create函数的具体用法?TypeScript create怎么用?TypeScript create使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了create函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: constructor

 constructor () {
   const store = memFs.create()
   this.fs = editor.create(store)
   this.sourceRoot(path.join(getRootPath()))
   this.init()
 }
开发者ID:YangShaoQun,项目名称:taro,代码行数:6,代码来源:creator.ts

示例4:

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

示例5: 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-editor.create函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。