【问题标题】:Error: ENOENT, no such file or directory in meteor错误:ENOENT,meteor 中没有这样的文件或目录
【发布时间】:2017-10-18 03:44:22
【问题描述】:

问题描述:

在服务器启动时尝试导入 JSON 文件。

if (Meteor.isServer) {
  Meteor.startup(function () {
    // code to run on server at startup
    var fs = Npm.require('fs');
    Videos = fs.readFileSync("public/toc_vd_en.json", "utf8");
  });
}

获取Error: ENOENT, no such file or directory 'public/toc_vd_en.json'

文件结构:

问题:

我相信我给出了正确的相对路径。是什么导致了这个错误?

【问题讨论】:

  • 试试/public/toc_vd_en.json
  • 我已经想到了。仍然得到同样的错误。 错误:ENOENT,没有这样的文件或目录'/public/toc_vd_en.json'

标签: javascript meteor


【解决方案1】:

朋友,试试这个:

if (Meteor.isServer) {
  Meteor.startup(function () {
    // code to run on server at startup
    var base = process.env.PWD;
    var fs = Npm.require('fs');
    Videos = fs.readFileSync(base + "/public/toc_vd_en.json", "utf8");
  });
}

【讨论】:

  • 我也已经想到了。 { [Error: ENOENT, open 'public/toc_vd_en.json'] errno: 34, code: 'ENOENT', path: 'public/toc_vd_en.json' }
  • @try 把toc_vd_en.json放在你的主js文件的同级下,试试readFile('toc_vd_en.json'),如果还是不行,那你就看到问题了跨度>
  • 我实际上只是想到了这一点并试了一下。我仍然遇到同样的错误。
  • @KФ,你知道吗,兄弟,我怀疑你的扩展名......,检查你是否有隐藏的 txt 文件扩展名或类似的东西
  • @KФ,用这个来获取你的绝对根目录路径,var base = process.env.PWD,然后把你的json文件放在根目录,试试看
【解决方案2】:
Videos = fs.readFileSync("public/toc_vd_en.json", "utf8");

改成

Videos = fs.readFileSync("../public/toc_vd_en.json", "utf8");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-07
    • 2016-03-14
    • 1970-01-01
    • 2019-03-09
    • 2017-12-28
    • 2022-01-16
    • 2021-03-30
    • 1970-01-01
    相关资源
    最近更新 更多