我很好奇是否有人开发了组织包含外部shell脚本的Meteor应用程序的最佳实践,或者发生在node.js服务器代码和客户端js代码之外的其他后端进程。
例如,我有一个像这样结构的流星应用程序:
project-name
client
lib
models
packages
public
server
我有一个处理一些外部数据源的shell脚本,以及一个执行其他繁重工作的Python脚本。这些都可以通过将新数据插入Mongo实例来提供帮助。是的,我知道这有点混乱,但后端数据系统也是如此。我的问题是我应该将这些类型的项目放在meteor app文件夹中,还是应该在系统之外?只是好奇其他人如何构建这样的应用程序。
选项#1
project-name
client
...
server
data-processor.sh
other-utility.py
选项#2
project-name
client
...
private
data-processor.sh
other-utility.py
选项#3
bin
data-processor.sh
other-utility.py
meteor-project-name
client
...
private
答案 0 :(得分:1)
你不应该在流星项目目录中放置任何非流星文件,即使标准meteor-platform
包无法识别扩展名,所有这些文件都可以通过某些包获取。因此将它们放入/server
可能会在将来引起问题。另一方面,/private
文件夹用于应用程序使用的资源,因此将脚本放在那里是非语义和不优雅的。
为避免将这些脚本移到项目文件夹之外,您可以将它们存储在隐藏目录中,即名称以点开头的任何目录,即/.scripts
。放置在那里的文件将不会被Meteor应用程序选中。