meteor - fs.writeFile() 不适用于 Meteor 0.6.5.1

标签 meteor

我使用的是 Meteor 0.6.4.1 并使用 Npm.require('fs')fs.writeFile() 来保存文件。这是我用来测试它的代码:Gist for save files .我将 Meteor 更新到 0.6.5.1 并收到此错误:

(STDERR) app/server/save_file.js:18
(STDERR)         throw (new Meteor.Error(500, 'Failed to save file. ' + err));
(STDERR)                ^
(STDERR) Error: Failed to save file. Error: ENOENT, open 'public/carlos.png' [500]
(STDERR)     at Meteor.methods.saveFile (app/server/save_file.js:18:16)
(STDERR)     at fs.writeFile (fs.js:746:21)
(STDERR)     at Object.oncomplete (fs.js:297:15)

我知道节点版本在 Meteor 0.6.5 上从 0.8.18 更改为 0.8.24。这是 0.8.24 节点版本或 Meteor 0.6.5 版本的错误?有什么方法可以解决还是我必须继续使用 0.6.4.1 Meteor 版本?

最佳答案

在 Meteor 0.6.5 中,他们更改了服务器上下文中的当前工作目录,它以前是 Meteor 根目录,但现在是 MyProject/.meteor/local/build/programs/server.

因此,如果您想从服务器端应用程序访问公用文件夹中的内容,您可以尝试以下路径:../../../../../public/ .

警告:将文件写入 public 可能会导致服务器重新启动并导致未定义的行为。

关于meteor - fs.writeFile() 不适用于 Meteor 0.6.5.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18616151/

相关文章:

javascript - meteor - 即使控制台显示数据存在,也不会填充 {{each}}

html - 如何在 Meteor 的 body 元素中添加 CSS 类?

meteor - 获取段错误 : 11ation error when starting Meteor server

javascript - 使用 JavaScript 将复选框值传递到数据库

javascript - meteor 是否会在生产环境中缩小 client/compatibility 目录中的文件?

javascript - 如何在 Meteor/JavaScript 客户端中运行解锁后台任务?

reactjs - Meteor.userId() 在 react 组件中不具有反应性?

css - Meteor 更新后字体损坏

unit-testing - 测试依赖于 Meteor 设置的包

node.js - require 没有在服务器端 Meteor 方法中定义?