浅谈Nodejs中内置模块的基本用法
本篇文章带大家一起了解一下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 < 10; i++) { console.log(i); } console.log("呵呵"); -> 哈哈 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");
更多编程相关知识,请访问:编程视频!!
Atas ialah kandungan terperinci 浅谈Nodejs中内置模块的基本用法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Perbezaan utama antara Node.js dan Tomcat ialah: Runtime: Node.js adalah berdasarkan masa jalan JavaScript, manakala Tomcat ialah bekas Java Servlet. Model I/O: Node.js menggunakan model tidak menyekat tak segerak, manakala Tomcat menyekat segerak. Pengendalian konkurensi: Node.js mengendalikan konkurensi melalui gelung peristiwa, manakala Tomcat menggunakan kumpulan benang. Senario aplikasi: Node.js sesuai untuk aplikasi masa nyata, intensif data dan konkurensi tinggi, dan Tomcat sesuai untuk aplikasi web Java tradisional.

Node.js ialah masa jalan JavaScript bahagian pelayan, manakala Vue.js ialah rangka kerja JavaScript sisi klien untuk mencipta antara muka pengguna interaktif. Node.js digunakan untuk pembangunan bahagian pelayan, seperti pembangunan API perkhidmatan belakang dan pemprosesan data, manakala Vue.js digunakan untuk pembangunan sisi klien, seperti aplikasi satu halaman dan antara muka pengguna yang responsif.

Node.js boleh digunakan sebagai rangka kerja bahagian belakang kerana ia menawarkan ciri seperti prestasi tinggi, kebolehskalaan, sokongan merentas platform, ekosistem yang kaya dan kemudahan pembangunan.

Untuk menyambung ke pangkalan data MySQL, anda perlu mengikuti langkah berikut: Pasang pemacu mysql2. Gunakan mysql2.createConnection() untuk mencipta objek sambungan yang mengandungi alamat hos, port, nama pengguna, kata laluan dan nama pangkalan data. Gunakan connection.query() untuk melaksanakan pertanyaan. Akhir sekali gunakan connection.end() untuk menamatkan sambungan.

Pembolehubah global berikut wujud dalam Node.js: Objek global: modul Teras global: proses, konsol, memerlukan pembolehubah persekitaran Runtime: __dirname, __filename, __line, __column Constants: undefined, null, NaN, Infinity, -Infinity

Perbezaan utama antara Node.js dan Java ialah reka bentuk dan ciri: Didorong peristiwa vs. didorong benang: Node.js dipacu peristiwa dan Java dipacu benang. Satu-benang vs. berbilang benang: Node.js menggunakan gelung acara satu-benang dan Java menggunakan seni bina berbilang benang. Persekitaran masa jalan: Node.js berjalan pada enjin JavaScript V8, manakala Java berjalan pada JVM. Sintaks: Node.js menggunakan sintaks JavaScript, manakala Java menggunakan sintaks Java. Tujuan: Node.js sesuai untuk tugas intensif I/O, manakala Java sesuai untuk aplikasi perusahaan besar.

Terdapat dua fail berkaitan npm dalam direktori pemasangan Node.js: npm dan npm.cmd Perbezaannya adalah seperti berikut: sambungan berbeza: npm ialah fail boleh laku dan npm.cmd ialah pintasan tetingkap arahan. Pengguna Windows: npm.cmd boleh digunakan daripada command prompt, npm hanya boleh dijalankan dari baris arahan. Keserasian: npm.cmd adalah khusus untuk sistem Windows, npm tersedia merentas platform. Cadangan penggunaan: Pengguna Windows menggunakan npm.cmd, sistem pengendalian lain menggunakan npm.

Ya, Node.js ialah bahasa pembangunan bahagian belakang. Ia digunakan untuk pembangunan bahagian belakang, termasuk mengendalikan logik perniagaan sebelah pelayan, mengurus sambungan pangkalan data dan menyediakan API.
