我无法让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”和“\ r”
----- ------编辑
我已经成为一个有点强大的开发者。我现在意识到这是正确的。这不是我的代码,甚至是phantomjs / casperjs的问题,而是记事本的问题。
由于我缺乏简单性,我没有使用ide。因此,我遇到了微软试图在记事本中重新格式化的问题。
如果任何其他新手使用记事本或任何其他默认文本编辑器,您也可能会遇到此问题。
考虑切换到众多ide或代码编辑器之一。 Windows上的简单版本notepad ++或Mac上的textwrangler应该会给你一些与默认编辑器类似的感觉。
答案 0 :(得分:4)
Windows使用\ r \ n作为换行符。
\ r是回车符,\ n是换行符。
这是对旧打字机的引用,它需要将打字头(笔架)带回每个新行的开头。
答案 1 :(得分:0)
您使用的是什么版本的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();
从test.dat
运行phantomjs test.js
获取以下输出:
write me first
write me to the next line
答案 2 :(得分:0)
这是我的老帖子。我把它改写为听起来更专业。
上述问题是微软记事本的问题。它忽略了某些车厢。我确定有一种方法可以让它注册,但默认情况下它并没有在我当时正在使用的Windows 7上打开。
更高级的编辑器,或者基本上任何代码编辑器/ ide应该能够拿起车厢。
对于其他新手来说,车厢基本上是“下一行”的原始代码。
^^>>我知道这不太可能是对此的技术回应,但对于新手来说是一个体面和明确的回应,他可能是通过谷歌找到这个页面的人之一。请不要将其编辑为超级高级定义。
答案 3 :(得分:0)
如果使用notepad ++打开输出文件,您将获得带有新行的数据。普通记事本不显示断裂线。