【问题标题】:learning node and modules / creating a file using学习节点和模块/使用创建文件
【发布时间】:2023-03-21 13:17:01
【问题描述】:

我对 node 真的很陌生,感觉我什么都不懂。我正在观看 fs.writeFileSync 创建新文件的教程。但是我的代码不起作用并且没有文件被创建 - 有人知道为什么吗?还有为什么我需要

var fs=require("fs");

?据我了解 fs 是一个内置模块,如果我们需要一些东西,应该有另一个文件导出一些东西(我们需要使用 fs 模块)? Node 有点难以理解,希望能得到一些解释!谢谢

var fs=require("fs");
fs.writeFileSync("contents.txt","Thats a new file")
console.log(fs.writeFileSync("contents.txt").toString());

【问题讨论】:

    标签: node.js


    【解决方案1】:

    fs 确实是一个node 内置模块,和其他模块一样,你必须要求它才能使用它的功能。您引用的文件存在于内部,因此您不必 npm install 它。

    关于您的代码,fs.writeFileSync 应该可以在您使用它时工作,但是,当您尝试打印它时,您再次使用了这个函数,这次没有内容,这可能是造成混淆的原因。 应该完美运行的代码是:

    //Requiring the fs module in order to use it later on
    var fs = require('fs');
    
    //Writing "Thats a new file" as text to a new file called "contents.txt" in the same directory as the script file.
    fs.writeFileSync('contents.txt', 'Thats a new file');
    
    //If you want to print the file, read it, like so.
    console.log(fs.readFileSync('contents.txt'));
    

    另外,我认为您应该继续阅读有关 node 的异步功能的内容,以便您更好地了解这项技术以及它有什么用处。 This 是一个您可以学习的网站,但还有很多其他好的网站。

    【讨论】:

    • 感谢它现在可以工作,但令我惊讶的是,只有取出 toString() 才能使它工作。为什么我们需要在这种情况下要求 fs ? fs 模块和 fs.writeFileSync(这是 fs 的一种方法对吗?)在这里究竟做了什么?谢谢!
    • 其实不只是取出toString(),我调用readFileSync,你调用writeFileSync。 fs 是节点内置模块,用于处理文件系统和 writeFileSync 将内容同步写入文件。我建议您尝试阅读我附加到我的答案的链接,以更好地理解 node.js
    猜你喜欢
    • 2017-02-28
    • 2019-09-05
    • 1970-01-01
    • 1970-01-01
    • 2019-03-06
    • 2011-07-10
    • 1970-01-01
    • 1970-01-01
    • 2022-08-09
    相关资源
    最近更新 更多