【问题标题】:meteor private subdirectory流星私有子目录
【发布时间】:2014-02-05 23:25:04
【问题描述】:

我最近了解到meteor 私有子目录。根据文档:“私有子目录是服务器代码可以访问但不提供给客户端的任何文件的位置,例如私有数据文件。”一般来说,我是 Web 开发的新手,所以我的问题是,将这些文件放在私有子目录中与仅在服务器子目录本身中相比有什么优势?服务器子目录是否不是私有的 - 例如我定义了一些电子邮件模板,并且我的电子邮件登录信息设置在服务器子目录的启动功能中,这些是否以某种方式暴露给客户端?任何澄清都会非常有帮助,谢谢!

【问题讨论】:

    标签: meteor private subdirectory


    【解决方案1】:

    不,您在服务器目录中的代码是安全的。区别在于您如何使用/访问这些文件。服务器目录中的文件将在服务器上加载/执行,并且使用正在运行的应用程序中的文件系统也很难访问它们。 private 目录中的文件内容可作为资产。详情请参阅http://docs.meteor.com/#assets

    需要注意的是,您的服务器代码不会在您的服务器目录中执行,而是会有一个当前工作目录,它是 .meteor 中的一个临时构建目录。因此,如果您想使用 fs 节点包来读取服务器目录中的文件,您首先需要找到它。此外,服务器目录中的任何新文件或文件更改都会触发流星重新启动您的应用程序。在某些情况下,您不希望这样。所以private 为您提供了一个地方来处理不影响应用程序执行的文件。

    另一种思考方式是private 用于服务器,public 用于客户端。

    【讨论】:

    • 当我在'private'目录下创建目录或添加文件时,例如:application-name/private/files/users/user-name/file.pdf,使用服务器端方法(和 fs 节点包),我的应用程序总是重新启动——我认为这不应该发生在“私有”目录中?
    • 这是我关于这个问题的 SO 问题:stackoverflow.com/questions/28105957/…
    猜你喜欢
    • 2016-10-31
    • 1970-01-01
    • 2015-08-09
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 2018-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多