首页 > 解决方案 > 读取字典文件以将它们导出到索引文件中

问题描述

有一个简单的index.ts文件可以导出多个 gql 字符串,这些字符串存储在一个文件中。每个字符串都有自己的文件 - 有几百个,所有文件都在同一个文件夹中。

所以现在我正在手动执行此操作,这很糟糕。

import fs from 'fs'
import path from 'path'

export const selectUser = fs.readFileSync(path.join(__dirname, 'selectUser.gql'), 'utf8');
export const updateUser = fs.readFileSync(path.join(__dirname, 'updateUser.gql'), 'utf8');
// many many more... file name is always export name

是不是可以通过名字导出这个目录下的所有*.gql文件,让这个文件更有活力?

标签: javascript

解决方案


您不能导出动态创建const的 s,因为const必须在代码实际执行之前声明 a。

您可以声明一个const,它可以在代码执行时动态更改。

const fs = require('fs');
const path = require('path');

const folderName = 'manytiny/';
const folderPath = path.join(__dirname, folderName)

const myTexts = {};

fs.readdir( folderPath, function( err, fileList ){
    fileList.forEach( function( fileName ){
        const content = fs.readFileSync( path.join( folderPath, fileName ) );
        const propName = fileName.split('.')[0];
        myTexts[ propName ] = content;
    });
    console.log('', myTexts);
})

export myTexts;

推荐阅读