使用appendFileSync时是否需要指定目录?

时间:2019-11-03 16:31:20

标签: javascript node.js

我正在阅读一些nodejs文档,并开始熟悉一些更基本的功能。具体看一下appendFileSync函数。

尝试附加文件时,是否需要指定目录?我不记得这是以前版本的Node中的要求,但是似乎没有指定目录时,会在根目录中创建一个新文件,而不是附加文件。

我只是想附加一个基本的txt文件,以此创建一个新文件:

template<int N>
class Number<N, false> {
public:
  Number() : type("odd") {}

  // You need to re-declare everything...
  void say() { std::cout << "I'm " + type << std::endl; }; 
private:
  std::string type;
};

但是,当指定目录时,它会附加文件,这使我认为这是必需的:

pip install --upgrade --force-reinstall tensorflow

节点-v 12.13.0

NPM -v 6.12.0

1 个答案:

答案 0 :(得分:1)

与采用文件路径的所有fs操作一样,如果您不指定任何排序绝对路径,则您指定的路径将与当前工作目录合并。在nodejs程序中,默认的当前工作目录(如果不通过编程方式进行更改)是从启动该节点程序的环境中获取的。

如果要直接控制路径而不考虑当前工作目录,则指定绝对路径。

fs module documentation关于文件路径的说明如下:

  

字符串形式的路径被解释为标识绝对或相对文件名的UTF-8字符序列。相对路径将相对于process.cwd()指定的当前工作目录进行解析。

注意:在某些情况下,开发人员希望访问与正在运行的模块的安装有关的文件系统。通常,通过建立相对于__dirname的路径来完成此操作,该路径就是这样的当前模块的位置。

path.join(__dirname, "somefile.txt");

当然,如果需要,您始终可以指定从root开始的完整路径名。