Cas*_*ynn 7 bash config command-line-interface node.js npm
我正在编写一个nodejs cli实用程序(旨在全局安装的NPM模块),需要存储一些用户提供的值.在系统上存储这些值的最佳方法是什么?
例如,我应该在say下创建自己的配置文件:/etc/{my-utility-name}/conf.json并在我的install脚本中初始化此目录+文件
通过查看问题和评论,我认为有两个问题需要解决:
保存位置:如果有用户特定的设置,则按照Linux中的通用模式,最好将其保存在用户主目录的隐藏目录中。因此,您最好将其保存在$ HOME /。{yourAppName} / someFile目录中
例如:Pidgin将其保存在:/home/kushal/.purple / ... (文件夹名称的前缀“。”使其隐藏)
您可以将其保存在:/home/$HOME/.myawesomeNPMModule / ...
注意:如果您还以Windows平台为目标,则需要进行平台检查并确定要使用的路径。
在Windows Vista及更高版本中,它位于 $ WIN_INSTALLATION_DRIVE \ Users \ $ USER_NAME \ AppData \ Local \ YourAppName ...中。
在Windows XP中,它位于 $ WIN_INSTALLATION_DRIVE \ Documents and Settings \ $ USER_NAME \ Local Settings \ Application Data \ Local \ YourAppName \ ...中。
是的,跨平台使生活变得困难,或者至少添加了一些IF语句。;)
如何保存:您可以轻松地将凭据保存在JSON文件中。现在,由于您需要保护数据安全并且不能被非法访问读取,因此最好的方法是对其进行加密。NodeJs Crypto模块非常易于使用,您可以在几行中使用它加密/解密您的设置文件。您的应用程序只会知道加密密码,因此您的应用程序将只能对其解密。
我建议使用AES-192来加密文件。
希望能帮助到你!!