我是Flex / Actionscript世界的难民,我正在使用Electron作为运行时引擎将一个大型遗留Flex应用程序“移植”(基本上重写)到Javascript。我正在学习,做一些小测试来探索各种javascript库和框架的功能和适用性。
这是一个使用本地文件的“演示”型桌面应用程序(例如Powerpoint,Keynote,iTunes类型的应用程序),我需要让用户能够导入,标记和组织许多图像和视频资产。我需要能够移动/复制资产,处理重复的文件名,为每个文件创建数据库记录,创建文件分组等,然后当然能够在运行时访问所有这些。
虽然从头开始编写它会很有趣,但这将是一项很多工作,我想到可能有一个现有的库或CMS框架我可以适应这一点。这个想法是错误的吗?是否存在针对此类要求的现有解决方案?
答案 0 :(得分:2)
我正在开发一个对文件操作和数据库记录有相同要求的项目,所以让我给你一些提示:
使用占地面积小的数据库(leveldb,nedb,lovefield),因为您需要将其打包到应用程序中。
不要直接从渲染器进程调用fs模块,总是使用ipc(出于解耦原因)。
通过分离主要(电子主要,节点模块等)文件和渲染器(视图,客户端js,图像......)文件来构建应用程序
你需要一个文件和目录的第三方模块,以确保一切运行顺利,我使用mkdirp确保目录存在,你也可以使用fs-extra,这对于处理两者都很好(fs doesn& #39; t表示不存在的位置。)
如果文件很大,请使用流来移动资源,createReadStream
和createWriteStream
应该是用于阅读和播放的唯一方法。写文件。
如果您需要观看某些目录,请使用chokidar,它比fs.watch方法更有效。
使用viewpart的框架,取决于你所熟悉的,但是angluar,react,vuejs将是一个不错的选择。
最后查看此链接,它将帮助您了解可以使用的内容 https://github.com/sindresorhus/awesome-electron
希望有所帮助