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


TypeScript fs-extra-promise.readFileAsync函數代碼示例

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


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

示例1: generate

async function generate(rootDir: string) {

    const pbconfigPath = path.join(rootDir, 'pbconfig.json');
    if (!(await fs.existsAsync(pbconfigPath))) {
        if (await fs.existsAsync(path.join(rootDir, 'protobuf'))) {
            const pbconfigPath = path.join(rootDir, 'protobuf', 'pbconfig.json')
            if (!await (fs.existsAsync(pbconfigPath))) {
                await fs.writeFileAsync(pbconfigPath, pbconfigContent, 'utf-8');
            }
            await generate(path.join(rootDir, 'protobuf'));
        }
        else {
            throw '請首先執行 pb-egret add 命令'
        }
        return;
    }
    const pbconfig: ProtobufConfig = await fs.readJSONAsync(path.join(rootDir, 'pbconfig.json'));
    const tempfile = path.join(os.tmpdir(), 'pbegret', 'temp.js');
    await fs.mkdirpAsync(path.dirname(tempfile));
    const output = path.join(rootDir, pbconfig.outputFile);
    const dirname = path.dirname(output);
    await fs.mkdirpAsync(dirname);
    const protoRoot = path.join(rootDir, pbconfig.sourceRoot);
    const fileList = await fs.readdirAsync(protoRoot);
    const protoList = fileList.filter(item => path.extname(item) === '.proto')
    if (protoList.length == 0) {
        throw ' protofile 文件夾中不存在 .proto 文件'
    }
    await Promise.all(protoList.map(async (protofile) => {
        const content = await fs.readFileAsync(path.join(protoRoot, protofile), 'utf-8')
        if (content.indexOf('package') == -1) {
            throw `${protofile} 中必須包含 package 字段`
        }
    }))




    const args = ['-t', 'static', '-p', protoRoot, protoList.join(" "), '-o', tempfile]
    if (pbconfig.options['no-create']) {
        args.unshift('--no-create');
    }
    if (pbconfig.options['no-verify']) {
        args.unshift('--no-verify');
    }
    await shell('pbjs', args);
    let pbjsResult = await fs.readFileAsync(tempfile, 'utf-8');
    pbjsResult = 'var $protobuf = window.protobuf;\n$protobuf.roots.default=window;\n' + pbjsResult;
    await fs.writeFileAsync(output, pbjsResult, 'utf-8');
    const minjs = UglifyJS.minify(pbjsResult);
    await fs.writeFileAsync(output.replace('.js', '.min.js'), minjs.code, 'utf-8');
    await shell('pbts', ['--main', output, '-o', tempfile]);
    let pbtsResult = await fs.readFileAsync(tempfile, 'utf-8');
    pbtsResult = pbtsResult.replace(/\$protobuf/gi, "protobuf").replace(/export namespace/gi, 'declare namespace');
    pbtsResult = 'type Long = protobuf.Long;\n' + pbtsResult;
    await fs.writeFileAsync(output.replace(".js", ".d.ts"), pbtsResult, 'utf-8');
    await fs.removeAsync(tempfile);

}
開發者ID:bestdpf,項目名稱:protobuf-egret,代碼行數:59,代碼來源:index.ts

示例2: updateREADME

async function updateREADME() {

  const README_PATH = jd('../../README.md')
  const README_BUFFER = await fsep.readFileAsync(README_PATH)
  const README_CONTENTS = README_BUFFER.toString()
  const SOURCE_TREE = await sourceFolderTree()

  const commentMarker = c => `[//]: # (${c})`
  const START_MARKER = commentMarker('START_FILE_STRUCTURE')
  const END_MARKER = commentMarker('END_FILE_STRUCTURE')

  const t = '```'
  const pre =
`${START_MARKER}

${t}plaintext
${SOURCE_TREE}${t}

${END_MARKER}`

  const newReadme = replaceBetween(START_MARKER, END_MARKER)(README_CONTENTS, pre)

  await fsep.writeFileAsync(README_PATH, newReadme)

  log('Wrote new README sucessfulyl')

}
開發者ID:Edward-Lombe,項目名稱:elm-electron,代碼行數:27,代碼來源:update-README.ts

示例3: it

 it('should create an array of queries', () => {
     return fs.readFileAsync(standardDb, 'utf8')
         .then((originalData) => {
             let queries = util.splitToQueries(originalData)
             assert.deepEqual(homogenizeNewline(queries), standardAsQueries)
         })
 })
開發者ID:yinso,項目名稱:easydbi,代碼行數:7,代碼來源:exec-file.ts

示例4: doxygen

export function doxygen(req: express.Request, res: express.Response){
	res.set('Content-Type', 'text/xml');
	// this should really go through the file_manager lock - TODO
	fs.readFileAsync(paths.Bela+'Documentation/xml/'+req.query.file+'.xml', 'utf-8')
		.then( xml => res.send(xml) )
		.catch( () => res.status(500).send('file '+req.query.file+'.xml not found') );
}
開發者ID:BelaPlatform,項目名稱:Bela,代碼行數:7,代碼來源:RouteManager.ts

示例5: readTranslation

async function readTranslation(
  cwd: string,
  dir: string,
  locale: string,
  feature: string
): Promise<Translation> {
  const readPath = join(cwd, dir, feature, `${locale}.properties`);

  debug(`Read from ${readPath}.`);

  const translation: Translation = await readFileAsync(readPath, 'utf8')
    .then(parse)
    .catch(err => {
      if (err.code === 'ENOENT') {
        // translations can be "empty"
        return {};
      } else {
        throw err;
      }
    })
    .then(camelCaseKeys)
    .then(data => ({ data, locale }));

  return translation;
}
開發者ID:otbe,項目名稱:ws,代碼行數:25,代碼來源:get-translations.ts

示例6:

 .then(() => {
     return fs.readFileAsync(fooTablePath, 'utf8')
         .then((data) => JSON.parse(data))
         .then((data) => assert.deepEqual([
             { c1: 2, c2: 2 },
             { c1: 3, c2: 4 }
         ], data))
 })
開發者ID:yinso,項目名稱:easydbi,代碼行數:8,代碼來源:serialize-driver.ts

示例7: read_file_raw

export async function read_file_raw(file_path: string): Promise<Buffer>{
	await lock.acquire();
	let out: Buffer;
	try{
		out = await fs.readFileAsync(file_path);
	}
	finally{
		lock.release();
	}
	return out;
}
開發者ID:BelaPlatform,項目名稱:Bela,代碼行數:11,代碼來源:FileManager.ts

示例8: read_file

export async function read_file(file_path: string): Promise<string> {
	await lock.acquire();
	let out: string;
	try{
		out = await fs.readFileAsync(file_path, 'utf8');
	}
	finally{
		lock.release();
	}
	return out;
}
開發者ID:BelaPlatform,項目名稱:Bela,代碼行數:11,代碼來源:FileManager.ts


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