gpt4 book ai didi

meteor - 动态将文件插入 meteor 公用文件夹而不隐藏它

转载 作者:行者123 更新时间:2023-12-04 05:13:03 26 4
gpt4 key购买 nike

我有一个生成图像的 meteor 应用程序。生成它们后,我想为他们服务。但是,每次我写入公用文件夹时, meteor 服务器都会重新启动。
我搜索了一个解决方案,发现了几种解决方法:

  • 在项目文件夹之外提供文件-目前,我不知道该如何实现,我是否需要编写某种集成到 meteor 中的中间件?
  • public/中的文件夹添加一个波浪号〜-似乎使 meteor 完全忽略该文件夹,当尝试访问该文件夹中的文件时,我被重定向到了我的根页面。
  • 在生产模式下运行 meteor 。对我来说似乎是一个肮脏的解决方法。现在,meteor run --production仍然会重新启动服务器,因此我必须捆绑我的应用程序,每次都重新安装光纤,设置我的环境变量,然后运行该应用程序。每次我改变一些东西。

  • 还有其他解决方案吗?

    最佳答案

    接受的答案对我不起作用,但是从 0.6.6.3 版本开始,您可以执行以下操作:

    var fs = Npm.require('fs');
    WebApp.connectHandlers.use(function(req, res, next) {
    var re = /^\/url_path\/(.*)$/.exec(req.url);
    if (re !== null) { // Only handle URLs that start with /url_path/*
    var filePath = process.env.PWD + '/.server_path/' + re[1];
    var data = fs.readFileSync(filePath, data);
    res.writeHead(200, {
    'Content-Type': 'image'
    });
    res.write(data);
    res.end();
    } else { // Other urls will have default behaviors
    next();
    }
    });

    笔记
  • process.env.PWD将为您提供项目根
  • (如果您计划将文件放入项目中)
  • 不要使用publicprivate meteor 文件夹
  • 使用点文件夹(例如,隐藏文件夹,例如:.uploads)

  • 不遵守这两个条件将导致本地 meteor 在每次上载时重新启动,除非您使用以下命令运行 meteor 应用程序: meteor run --production

    关于meteor - 动态将文件插入 meteor 公用文件夹而不隐藏它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17740790/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com