Javascript 在Meteor[1.0.0]中写入服务器上的文件(每次生成时都不会丢失文件)
我一直遇到的问题是,Javascript 在Meteor[1.0.0]中写入服务器上的文件(每次生成时都不会丢失文件),javascript,file-io,meteor,fs,steam,Javascript,File Io,Meteor,Fs,Steam,我一直遇到的问题是,fs.writeFile写入.meteor下的build文件夹,并且在重建时丢失 Assetsapi似乎不允许写入。我所要做的就是将一些文本写入一个文件,并在下次启动时加载它 特定用例:Steam返回API中需要在后续请求中重用的shaSentryfile的数据,否则验证过程部分是手动的 我曾考虑过使用一些外部存储服务,如S3,但这是一个非常简单的场景——它只是一个文件——但我想了解在Meteor中如何管理此类文件。我建议在项目目录之外的某个地方编写文件。这样可以避免任何
fs.writeFile
写入.meteor
下的build
文件夹,并且在重建时丢失
Assets
api似乎不允许写入。我所要做的就是将一些文本写入一个文件,并在下次启动时加载它
特定用例:Steam返回API中需要在后续请求中重用的shaSentryfile
的数据,否则验证过程部分是手动的
我曾考虑过使用一些外部存储服务,如S3,但这是一个非常简单的场景——它只是一个文件——但我想了解在Meteor中如何管理此类文件。我建议在项目目录之外的某个地方编写文件。这样可以避免任何潜在的文件位置和重新加载问题 如果文件不需要重新启动,我建议您使用系统的临时目录,如下所示:
var fs = Npm.require('fs');
var os = Npm.require('os');
var path = Npm.require('path');
var file = path.join(os.tmpDir(), 'foo.txt');
然后您可以将readFileSync
和writeFileSync
与file
一起使用
或者,可以使用环境变量指定路径:
> OUTPUT_DIR="$HOME/output" meteor
然后您可以将上述代码修改为:
var file = path.join(process.env.OUTPUT_DIR, 'foo.txt');
我建议在项目目录之外的某个地方编写文件。这样可以避免任何潜在的文件位置和重新加载问题 如果文件不需要重新启动,我建议您使用系统的临时目录,如下所示:
var fs = Npm.require('fs');
var os = Npm.require('os');
var path = Npm.require('path');
var file = path.join(os.tmpDir(), 'foo.txt');
然后您可以将readFileSync
和writeFileSync
与file
一起使用
或者,可以使用环境变量指定路径:
> OUTPUT_DIR="$HOME/output" meteor
然后您可以将上述代码修改为:
var file = path.join(process.env.OUTPUT_DIR, 'foo.txt');
我建议在项目目录之外的某个地方编写文件。这样可以避免任何潜在的文件位置和重新加载问题 如果文件不需要重新启动,我建议您使用系统的临时目录,如下所示:
var fs = Npm.require('fs');
var os = Npm.require('os');
var path = Npm.require('path');
var file = path.join(os.tmpDir(), 'foo.txt');
然后您可以将readFileSync
和writeFileSync
与file
一起使用
或者,可以使用环境变量指定路径:
> OUTPUT_DIR="$HOME/output" meteor
然后您可以将上述代码修改为:
var file = path.join(process.env.OUTPUT_DIR, 'foo.txt');
我建议在项目目录之外的某个地方编写文件。这样可以避免任何潜在的文件位置和重新加载问题 如果文件不需要重新启动,我建议您使用系统的临时目录,如下所示:
var fs = Npm.require('fs');
var os = Npm.require('os');
var path = Npm.require('path');
var file = path.join(os.tmpDir(), 'foo.txt');
然后您可以将readFileSync
和writeFileSync
与file
一起使用
或者,可以使用环境变量指定路径:
> OUTPUT_DIR="$HOME/output" meteor
然后您可以将上述代码修改为:
var file = path.join(process.env.OUTPUT_DIR, 'foo.txt');