A brief discussion on the basic usage of built-in modules in 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 哈哈 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");
更多编程相关知识,请访问:编程视频!!
The above is the detailed content of A brief discussion on the basic usage of built-in modules in Nodejs. For more information, please follow other related articles on the PHP Chinese website!

JavaScript is widely used in websites, mobile applications, desktop applications and server-side programming. 1) In website development, JavaScript operates DOM together with HTML and CSS to achieve dynamic effects and supports frameworks such as jQuery and React. 2) Through ReactNative and Ionic, JavaScript is used to develop cross-platform mobile applications. 3) The Electron framework enables JavaScript to build desktop applications. 4) Node.js allows JavaScript to run on the server side and supports high concurrent requests.

Python is more suitable for data science and automation, while JavaScript is more suitable for front-end and full-stack development. 1. Python performs well in data science and machine learning, using libraries such as NumPy and Pandas for data processing and modeling. 2. Python is concise and efficient in automation and scripting. 3. JavaScript is indispensable in front-end development and is used to build dynamic web pages and single-page applications. 4. JavaScript plays a role in back-end development through Node.js and supports full-stack development.

C and C play a vital role in the JavaScript engine, mainly used to implement interpreters and JIT compilers. 1) C is used to parse JavaScript source code and generate an abstract syntax tree. 2) C is responsible for generating and executing bytecode. 3) C implements the JIT compiler, optimizes and compiles hot-spot code at runtime, and significantly improves the execution efficiency of JavaScript.

JavaScript's application in the real world includes front-end and back-end development. 1) Display front-end applications by building a TODO list application, involving DOM operations and event processing. 2) Build RESTfulAPI through Node.js and Express to demonstrate back-end applications.

The main uses of JavaScript in web development include client interaction, form verification and asynchronous communication. 1) Dynamic content update and user interaction through DOM operations; 2) Client verification is carried out before the user submits data to improve the user experience; 3) Refreshless communication with the server is achieved through AJAX technology.

Understanding how JavaScript engine works internally is important to developers because it helps write more efficient code and understand performance bottlenecks and optimization strategies. 1) The engine's workflow includes three stages: parsing, compiling and execution; 2) During the execution process, the engine will perform dynamic optimization, such as inline cache and hidden classes; 3) Best practices include avoiding global variables, optimizing loops, using const and lets, and avoiding excessive use of closures.

Python is more suitable for beginners, with a smooth learning curve and concise syntax; JavaScript is suitable for front-end development, with a steep learning curve and flexible syntax. 1. Python syntax is intuitive and suitable for data science and back-end development. 2. JavaScript is flexible and widely used in front-end and server-side programming.

Python and JavaScript have their own advantages and disadvantages in terms of community, libraries and resources. 1) The Python community is friendly and suitable for beginners, but the front-end development resources are not as rich as JavaScript. 2) Python is powerful in data science and machine learning libraries, while JavaScript is better in front-end development libraries and frameworks. 3) Both have rich learning resources, but Python is suitable for starting with official documents, while JavaScript is better with MDNWebDocs. The choice should be based on project needs and personal interests.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Dreamweaver CS6
Visual web development tools

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment