Tag: path

NodeJS中模块的应用程序基本path

我正在NodeJS中构build一个Web应用程序,并在不同的模块中实现我的API路由。 在我的一个路线中,我正在做一些文件操作,我需要知道基本的应用程序path。 如果我使用__dirname它给了我当然包含我的模块的目录。 我目前正在使用它来获取基本的应用程序path(假定我知道从基本path模块的相对path): path.join(__dirname, "../../", myfilename) 有没有比使用../../更好的方法? 我正在Windows下运行节点,所以没有process.env.PWD ,我不想成为特定于平台的。

模块内的相对文件系统写path

我有一个可执行的节点/ JavaScript脚本有一个debugging布尔值,如果设置为true,将写入几个文件。 这个可执行文件也是节点模块。 根据运行脚本的用户的工作目录,似乎该function找不到写入文件的目录。 模块是这样构成的 output/ lib/ helpers.js index.js 我原来的理由是要有path。 helper.write = function(data,filename){ if(typeof data !== "string") data = JSON.stringify(data); fs.writeFileSync("./output/"+filename, data); }; 但是,这在从node_module文件夹内运行脚本时起作用 fs.writeFileSync("process.cwd()+"/node_modules/the_module/output/"+filename, data); 喜欢这个 node ./my_app/node_modules/the_module/index.js 如果模块在使用该库的另一个可执行文件中使用,则会变得更加混乱。 node ./my_app/run.js 有没有办法独立于所有这些variables保存文件?

如何检查path是绝对的还是相对的

UNIX绝对path以'/'开始,而Windows则以字母'C:'或'\'开头。 node.js有一个标准的多平台function来检查path是绝对的还是相对的?

在Node.js中,我怎么能告诉`this`模块的path?

在我正在写的Node.js模块中,我想打开一个文件 – 即与fs.readFile() – 包含在与我的模块相同的目录中。 我的意思是它在与./node_modules/<module_name>/index.js文件相同的目录中。 它看起来像由fs模块执行的所有相对path操作都是相对于启动Node.js的目录而言的。 因此,我想我需要知道如何获取正在执行的当前Node.js模块的path。 谢谢。

在node.js中展开/parsing〜

我是nodejs的新手。 节点可以parsing〜(unix主目录)example〜foo,〜bar到/ home / foo,/ home / bar > path.normalize('〜mvaidya') '〜mvaidya' > path.resolve('〜mvaidya') '/家/ mvaidya /〜mvaidya' > 这个回应是错误的; 我希望〜mvaidya必须解除/ home / mvaidya

为什么安装一个npm包会在node_modules中添加许多子文件夹?

我已经更新了我用grunt项目使用的node / npm。 然而,当我现在想要添加一个包到一个项目myproject/ (比如npm install grunt-favicon )时,它似乎向myproject/node_modules/添加了数百个文件夹,而它只用来添加一个 – 通常以grunt作为前缀,比如node_modules/grunt-favicon 。 我对这些东西的了解是基本的,但是这些东西似乎是必需的依赖关系,甚至这些东西中的一些还有更多的依赖关系。 是不是应该在其他地方添加这些依赖关系? 如果是这样我怎么改正这个? 我使用npm 3.3.5 , node 4.1.1 , grunt-cli v0.1.13和grunt v0.4.5 。 这个屏幕截图在左边显示~/.npm ,然后在右边显示~/.npm ~/myproject/node_modules

节点和shebang:帮助通过命令行执行

我的节点安装位于: /usr/local/bin/node 我已经添加了shebang: #!/usr/local/bin/node 到文件的顶部,并给予我的节点应用程序文件的权限755,但是当我尝试运行: > ./my-app 我得到旧的: -bash: ./my-app: No such file or directory 我究竟做错了什么?

Node.js中path.normalize和path.resolve的区别

path.normalize(your_path)和path.resolve(your_path)之间有什么区别(如果有的path.resolve(your_path) ? 我知道path.resolve(…)可以接受多个参数,但行为与一个单一的参数相同,调用path.normalize() ? 编辑:如果他们应该行为相同的方式,我不明白的目的,揭露path.normalize(…)函数时,你可以简单地将path传递到path.resolve(…)或者,也许, ,这是为了文件的目的。 例如,他们在path.resolve(…)的文档中说: …由此产生的path正常化,并… path.normalize(…)使得更容易解释什么是“规范化”意味着? 我不知道。