javascript - 读取字典文件以将它们导出到索引文件中
问题描述
有一个简单的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
必须在代码实际执行之前声明 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;
推荐阅读
- automated-tests - GEB - 查找并计算文本中具有特定单词的所有元素
- python - 如何从 Git Bash 进入活跃的 Python 虚拟环境
- javascript - 使用 TypeScript 和 Chai 的强类型深度相等断言
- google-cloud-platform - 如何删除较旧的 gcloud 工具:您的系统 PATH 上有较旧版本的工具。请删除
- julia - 如何为数组定义运算符 <?
- c# - Visual Studio 代码无法成功打开项目
- sql - How do I code a dynamic NetSuite date range that begins the 1st day of the month (4 months ago) and ends the last day of last month?
- python - 我想在课堂上打印一个随机生成的数字,但不断出错
- node.js - 当我从 Node 服务器访问后端时,为什么会收到 404 Bad request?
- configuration - 如何向 Azure DevOps 错误/任务添加字段?它对我来说是禁用的