流星 - 创建一个文件被下载(没有触发流星重启)
我想创建一个文件,然后使用流星,但我不希望服务器重新启动时,我创建/更新文件公共目录。流星 - 创建一个文件被下载(没有触发流星重启)
用户将点击一个按钮在服务器上创建一个配置文件,我希望用户能够下载该配置文件。
有没有办法做到这一点,而不触发服务器重新启动?
我已经尝试创建一个链接到文件并创建一个隐藏的文件,但没有任何工作。
谢谢你的时间。
服务器因为在开发模式下运行而重新启动, 当它在生产环境中运行时,它不会在内容更改时重新启动。
要在生产环境中运行,只有我知道的是,捆绑申请后,
看一看这里的方法:http://docs.meteor.com/#deploying
尝试meteor run --production
。这可能会解决你的问题。
如果你不希望在生产模式下运行,这里是一个解决办法:
- 为了防止重装,你必须生成位于项目存储库之外的文件夹中的文件。
- 然后你将有你的流星应用程序来服务该文件夹的内容。
下面是使用connect
NPM库,让您的本地文件夹/meteor/generated_files
网址hostname.com/downloads/
下担任一个例子:
var connect = Npm.require('connect');
var fs = Npm.require('fs');
function serveFolder(urlPath, diskPath){
if(!fs.existsSync(diskPath))
return false;
RoutePolicy.declare(urlPath, 'network');
WebApp.connectHandlers.use(urlPath, connect.static(diskPath));
return true;
}
serveFolder('/downloads', '/meteor/generated_files/');
我published非常原始的包我有做到了这一点。
RoutePolicy&WebApp对象呢,它们从哪里来?我的代码崩溃,因为它们没有被定义。 – nearpoint 2014-07-04 18:07:20
好点! 你必须把它放在一个包中,并在'package.js'中指定'api.use(['webapp','routepolicy'],'server');''。 我发布了我的软件包,只是这(我编辑我的答案与链接)。 – 2014-07-05 08:31:37
感谢您的意见。真的很不幸,在开发过程中没有办法控制重启。 – user1505103 2012-07-06 14:27:29