繁体   English   中英

您应该如何存储多行文本文件? 作为文本文件还是 js 文件?

[英]How should you store a multi-line text file? As a text file or js file?

我正在使用 discord.js 和 NodeJS 构建一个 discord 机器人。 我有多行(大约 20 行长)消息,我希望将其发送到某个命令的通道。 为了提高源代码的可读性,我想我会使用不同的文件来存储这条消息。 最初,我想我会将内容移动到一个文本文件,然后使用fs.readFile()来读取内容。 但是,现在,我认为最好将内容存储在一个变量中(假设multiLineString在另一个 js 文件中(比如message.js并从文件中导出该变量。这样,我可以使用require('./message.js').multiLineString 。但我不知道这是否是一个好的做法,因为我是 NodeJS 的新手。那么,就 memory 和性能而言,这是正确的还是更好的方法?

您应该考虑将这些消息存储在 JSON 文件中。 (去阅读 JSON)。 为此,它们比纯 Javascript 更安全:您必须完全信任您require() 但是您读取的文件然后执行JSON.parse() on 只会使 function 如果错误则抛出错误。

这里真正的问题是,您是否希望能够有意地编辑该消息(而不必重新启动您的服务器)——或者不。

如果不是,那么您提到的任何方法都没有错。 您宁愿避免的唯一一件事是重新阅读每个请求的文本(尤其是同步操作)。 将从文件系统读取的文本转换为适当的 JS 值会花费更多的时间,但这真的可以忽略不计。

但是,如果消息本身应该是动态的,并且您希望能够在不重新启动服务器的情况下更新它,那就不同了。 如果是这种情况,请争取管理员使用该文件的容易程度,而不是操作的性能如何; 无论如何,您将不得不花时间阅读本文。 你能做的最好的事情就是在实际尝试重新读取它之前检查某种“快速”标记——例如,更新时间(如果我们仍在谈论文件)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM