本篇文章带大家一起了解一下Nodejs内置模块的基本用法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
相关推荐:《nodejs 教程》
内置模块的基本使用
// 01. 导包 const fs = require("fs"); // 02. 调用unlink删除方法 // 第一个参数:要删除的文件的路径 // 第二个参数:回调函数 fs.unlink("01-内置模块fs的使用/tmp/hello.txt", (err) => { if (err) throw err; console.log("已成功删除 /tmp/hello"); });
fs模块的读文件
fs.readFile(path[, options], callback)
第一个参数:文件的路径
第二个参数:可选参数,读取文件的编码格式
第三个参数:回调函数
fs.readFile("01-内置模块fs的使用/etc/passwd.txt", "utf-8", (err, data) => { // err是一个错误对象,如果没有错就返回一个null // data是读的文件内容 // console.log(err); // null console.log(data); // 这是一个寂寞的天,下着有些伤心的雨! });
Npdemon全局模块
作用:终端下自动执行代码
安装
npm i nodemon -g
nodemon
文件名即可自动监视文件的修改,自动重新运行
vscode快捷键
ctrl+d 选择相同的下一个
ctrl+左右 按单词跳转光标
ctrl+enter 光标另起一行
同步异步
- 同步
console.log("哈哈"); for (var i = 0; i 哈哈 0 1 2 3 4 5 6 7 8 9 10 呵呵
- 异步
console.log("哈哈"); setTimeout(() => { console.log("啦啦啦"); }, 1000); console.log("呵呵"); -> 哈哈 呵呵 啦啦啦
- 刚才我们学习的fs模块读/写操作就是一个异步操作
console.log("哈哈"); const fs = require("fs"); fs.readFile("01-内置模块fs的使用/etc/望庐山瀑布.txt", "utf-8", (err, data) => { if (err === null) { console.log(data); } else { console.log(err); } }); console.log("呵呵"); -> 哈哈 呵呵 望庐山瀑布 唐·李白 日照香炉生紫烟, 遥看瀑布挂前川。 飞流直下三千尺, 疑是银河落九天。
- 其实读文件也有同步操作
console.log("哈哈"); const fs = require("fs"); let data = fs.readFileSync("01-内置模块fs的使用/etc/passwd.txt", "utf-8"); console.log(data); console.log("呵呵"); -> 哈哈 这是一个寂寞的天,下着有些伤心的雨! 呵呵
同步异步面试题
// 看代码,说出运行结果 var t = true; while (t) { window.setTimeout(function () { t = false; }, 1000); } alert("end"); -> 死循环
和路径相关的两个变量
- __dirname: 获现的是当前这个文件所在的整个文件夹的绝对路径
- __filename: 拿到的是当前这个文件的绝对路径
console.log(__dirname); // d:\前端\NodeJs\nodejs code\02-内置模块path的使用 console.log(__filename); // d:\前端\NodeJs\nodejs code\02-内置模块path的使用\03-和路径相关的两个变量.js
使用拼接的绝对路径来读取文件
const fs = require("fs"); const fullPath = __dirname + "\\etc\\1.txt"; fs.readFile(fullPath, "utf-8", (err, data) => { if (err === null) { console.log(data); } else { console.log(err); } });
path.join([…paths])
path.join()
方法会将所有给定的 path
片段连接到一起(使用平台特定的分隔符作为定界符),然后规范化生成的路径。
长度为零的 path
片段会被忽略。 如果连接后的路径字符串为长度为零的字符串,则返回 '.'
,表示当前工作目录。
// 01. 导入模块 const path = require("path"); // 02. 使用方法 // join方法是把路径片段,连接成一个新的路径. const fullPath = path.join(__dirname, "etc", "1.txt"); console.log(fullPath);
使用path模块拼接而成的绝对路径来读取文件
// 1. 导入模块 const fs = require("fs"); const path = require("path"); // 2. 调用方法 // 2.1 使用path.joiin来拼接一个绝对路径(要读取文件的绝对路径) const fullPath = path.join(__dirname, "etc", "1.txt"); // 2.2 读文件 fs.readFile(fullPath, "utf-8", (err, data) => { if (err === null) { console.log(data); } else { console.log(err); } });
使用内置模块http来创建一个服务器
// 1. 导入http模块 const http = require("http"); // 2. 创建一个服务器 // 这个方法有一个返回值,返回值就代表这个服务器 const server = http.createServer((require, response) => { // 3. 设置返回给用户看的内容 response.end("hello world!"); }); // 4. 开启服务器 server.listen(8087, () => { console.log("服务器开启了:8087"); });
request.setHeader(name, value)
为请求头对象设置单个请求头的值。 如果此请求头已存在于待发送的请求头中,则其值将被替换。 这里可以使用字符串数组来发送具有相同名称的多个请求头。 非字符串值将被原样保存。 因此 request.getHeader()
可能会返回非字符串值。 但是非字符串值将转换为字符串以进行网络传输。
request.setHeader('Content-Type', 'application/json');
或:
request.setHeader('Cookie', ['type=ninja', 'language=javascript']);
如果想要返回去的中文不乱码,那就要设置响应头.
response.setHeader("Content-Type", "text/html;charset=utf-8");
更多编程相关知识,请访问:编程视频!!
以上是淺談Nodejs內建模組的基本用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python和JavaScript在開發環境上的選擇都很重要。 1)Python的開發環境包括PyCharm、JupyterNotebook和Anaconda,適合數據科學和快速原型開發。 2)JavaScript的開發環境包括Node.js、VSCode和Webpack,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。

是的,JavaScript的引擎核心是用C語言編寫的。 1)C語言提供了高效性能和底層控制,適合JavaScript引擎的開發。 2)以V8引擎為例,其核心用C 編寫,結合了C的效率和麵向對象特性。 3)JavaScript引擎的工作原理包括解析、編譯和執行,C語言在這些過程中發揮關鍵作用。

JavaScript是現代網站的核心,因為它增強了網頁的交互性和動態性。 1)它允許在不刷新頁面的情況下改變內容,2)通過DOMAPI操作網頁,3)支持複雜的交互效果如動畫和拖放,4)優化性能和最佳實踐提高用戶體驗。

C 和JavaScript通過WebAssembly實現互操作性。 1)C 代碼編譯成WebAssembly模塊,引入到JavaScript環境中,增強計算能力。 2)在遊戲開發中,C 處理物理引擎和圖形渲染,JavaScript負責遊戲邏輯和用戶界面。

JavaScript在網站、移動應用、桌面應用和服務器端編程中均有廣泛應用。 1)在網站開發中,JavaScript與HTML、CSS一起操作DOM,實現動態效果,並支持如jQuery、React等框架。 2)通過ReactNative和Ionic,JavaScript用於開發跨平台移動應用。 3)Electron框架使JavaScript能構建桌面應用。 4)Node.js讓JavaScript在服務器端運行,支持高並發請求。

Python更適合數據科學和自動化,JavaScript更適合前端和全棧開發。 1.Python在數據科學和機器學習中表現出色,使用NumPy、Pandas等庫進行數據處理和建模。 2.Python在自動化和腳本編寫方面簡潔高效。 3.JavaScript在前端開發中不可或缺,用於構建動態網頁和單頁面應用。 4.JavaScript通過Node.js在後端開發中發揮作用,支持全棧開發。

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。1)C 用于解析JavaScript源码并生成抽象语法树。2)C 负责生成和执行字节码。3)C 实现JIT编译器,在运行时优化和编译热点代码,显著提高JavaScript的执行效率。

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver Mac版
視覺化網頁開發工具