【问题标题】:cannot access javascript file even the path is correct即使路径正确也无法访问 javascript 文件
【发布时间】:2021-08-13 03:21:36
【问题描述】:

这似乎是 Nodejs 的一个常见问题,我尝试了所有解决方案但没有成功。 我的 require('filepath') 请求失败,错误为“ ENOENT: no such file or directory, open "a filepath" 例如我有这些文件夹:

我想使用 action1.js 和 data.json 到 folder2 action2.js

因此,虽然 require 与相对路径不起作用(为什么?):

const action1 = require('../folder1/action1.js')
const data = require('../../data/data.json')     

我尝试了绝对路径,但也没有用

const action1 = require(path.join( __dirname,'../folder1/action1.js'))
const data = require(path.join( __dirname,'../../data/data.json'))   

我做错了什么?

【问题讨论】:

  • 嘿,您的报价无效。你知道吗?要求('../folder1/action1.js')等...
  • 是的,很抱歉这是一个打字错误,它在我的本地代码中正确写入。谢谢指正
  • 看起来不错...我假设您发布的代码在action2.js 内?您可以发布实际错误而不是 a filepath 等内容吗
  • 您发布的代码没有问题。因此,要么您的目录结构不是您所期望的,要么存在文件名大小写差异。您确定您收到的错误来自您向我们展示的要求行吗?

标签: javascript node.js filepath


【解决方案1】:

好的,我找到了我的问题。它来自另一个文件的另一个要求。我这里的代码是正确的。

抱歉这个愚蠢的问题,放纵我是菜鸟,谢谢你的回答。

【讨论】:

    【解决方案2】:

    代码看起来正确,但我建议您检查目录的范围。

    您可以尝试以下步骤从 action2.js 中查看您的目录结构

    npm install directory-tree

    在您的文件中添加以下行:

    const dirTree = require("directory-tree");
    
    const tree1 = dirTree('../');
    console.log(tree1);
    
    const tree2 = dirTree('../../');
    console.log(tree2);
    

    这可能会帮助您找到目录的范围。这不是解决方案,而是帮助您调试的一种方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-26
      • 2023-04-09
      • 2019-01-26
      • 1970-01-01
      • 1970-01-01
      • 2013-07-16
      • 2011-08-06
      • 1970-01-01
      相关资源
      最近更新 更多