有一个简单的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文件以使该文件更加动态吗?
不能导出动态创建的const
s,因为必须在代码实际执行之前声明const
。
您可以声明一个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;