Phantomjs-使用fs.write()将数据写入新行不会写入下一行



我无法让phantomjs写入新行。我可以用它来替换数据,我可以让它写到最后,我可以把它注册"\n"代码,但它只是把它从字符串中删除,而不实现它。

下面是我用来写入文件的一些代码的示例。

fs.write("example.txt", "write me first", "a");
fs.write("example.txt", "n write me to the next line bro!", "a");

但其输出如下

write me first write me to the next line bro!

有人知道怎么解决这个问题吗?如果所有的错误都在一行,那么很难查看带有历史记录的错误日志。

我试过"\n"one_answers"\r">

-----编辑------

从那以后,我成为了一个更强的开发人员。我现在意识到这一直都是对的。这不是我的代码,甚至不是phantomjs/casperjs的问题,而是记事本的问题。

由于缺乏简洁性,我没有使用ide。正因为如此,我遇到了微软试图在记事本中重新格式化内容的问题。

如果任何其他新手正在使用记事本或任何其他默认文本编辑器,您也可能会遇到这种情况。

考虑切换到许多ide或代码编辑器中的一个。简单的windows上的记事本++或mac上的textwrapper应该会给你一种与默认编辑器有点相似的感觉。

Windows使用\r\n换行符。

\r是回车符,\n是换行符。

这是对旧打字机的引用,旧打字机需要将打字头(支架)带回每一行的开头。

您使用的PhantomJS是什么版本?

在Linux下,使用PhantomJS 1.9.7,我可以使用以下test.js:

fs = require('fs');
fs.write("test.dat", "write me first", "a");
fs.write("test.dat", "nwrite me to the next line", "a");
phantom.exit();

通过运行phantomjs test.jstest.dat中获得以下输出:

write me first
write me to the next line

如果您用notepad++打开输出文件,您将使用新行获得数据。普通记事本不显示折线。

这是我以前的帖子。我把它改写得更专业。

上面提到的问题是微软记事本的问题。它忽略了某些车厢。我确信有一种方法可以让它注册它们,但它在我当时使用的windows7 comp上默认没有打开。

一个更高级的编辑器,或者基本上任何代码编辑器/ide都应该能够拿起马车。

对于其他新手来说,车厢基本上是"下一行"的原始代码。

^^>>我知道这不太可能是对此的技术回应,但对于一个新手来说,这是一个体面而明确的回应,他很可能是通过谷歌找到这个页面的人之一。请不要将其编辑为超高级定义。

最新更新