url module1.parse method//test02.js import http from 'http' import url from 'url' const parseUrl = url.parse('https://www.baidu.com/news?name=朱葛亮&age=18#helloworld') console.log(parseUrl) http.createServer((req, res) => { res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'}) res.write('Hello, hello world!') res.end() }).listen(3000) console.log('My server is running at http://localhost:3000') Parse the URL address and obtain a parsed URL details object, including protocol, domain name, path, port, query parameters, hash and other information. The second parameter is a boolean value, which defaults to false. If true is passed, the query will be converted to an object. const parseUrl = url.parse('https://www.baidu.com/news?name=朱葛亮&age=18#helloworld', true) console.log(parseUrl) 2. format methodPass in a URL information object (that is, the object returned by the parse method) and return a specific path. This method is the reverse application of the parse method. const formatUrl = url.format({ protocol: 'https:', slashes: true, auth: null, host: 'www.baidu.com', port: null, hostname: 'www.baidu.com', hash: '#helloworld', search: '?name=Zhuge Liang&age=18', query: 'name=Zhuge Liang&age=18', pathname: '/news', path: '/news?name=Zhuge Liang&age=18', href: 'https://www.baidu.com/news?name=朱葛亮&age=18#helloworld' }) console.log(formatUrl) // Output https://www.baidu.com/news?name=朱葛亮&age=18#helloworld 3. resolve methodSplicing or replacing secondary paths const result1 = url.resolve('https://www.baidu.com', 'news') const result2 = url.resolve('https://www.baidu.com/home', '') const result3 = url.resolve('https://www.baidu.com/home', 'about') const result4 = url.resolve('https://www.baidu.com/home/index', 'about') const result5 = url.resolve('https://www.baidu.com/home/index?name=朱葛亮', 'about/hello') console.log(result1) console.log(result2) console.log(result3) console.log(result4) console.log(result5) Output: Events module (event-driven)1. Introduce the event module 2. Create an eventEmitter instance 3. Use the on method and emit method in eventEmitter to implement event-driven, similar to $on and $emit in vue, that is, publish-subscribe mode Asynchronous requirements can be solved as follows: import fs from 'fs' import event from 'events' const eventEmitter = new event.EventEmitter() eventEmitter.on('events', data => { console.log('Received data', data.toString()) }) fs.readFile('static/index.html', (err, data) => { eventEmitter.emit('events', data) }) The path moduleimport path from 'path' // Get the suffix name const extName = path.extname('index.html') // .html SummarizeThis article ends here. I hope it can be helpful to you. I also hope that you can pay more attention to more content on 123WORDPRESS.COM! You may also be interested in:
|
<<: How to install the latest version of docker using deepin apt command
>>: Implementation process of row_number in MySQL
[LeetCode] 181.Employees Earning More Than Their ...
Preface: The group by function retrieves the firs...
Asynchronous replication MySQL replication is asy...
Typically, we use the following SQL statement to ...
Add table fields alter table table1 add transacto...
This article shares the installation tutorial of ...
This article shares the specific code of js to ac...
Recorded the installation tutorial of mysql 5.7.1...
Browser compatibility is nothing more than style ...
How does "adaptive web design" work? It’...
introduction Looking back four years ago, when I ...
This article example shares the specific code of ...
Preface Docker can configure environment variable...
This article describes how to install opencv with...
Table of contents Constructing payment methods us...