Table of Contents
nodejs plug-in
Home Web Front-end Front-end Q&A What are the nodejs plug-ins?

What are the nodejs plug-ins?

Nov 23, 2021 pm 05:27 PM
nodejs plug-in

Nodejs plug-ins include: "node-xlsx", nodemailer, "node-readbility", connect, "express-session", "basic-auth", bcryptjs, puppeteer, nightmare, etc.

What are the nodejs plug-ins?

The operating environment of this tutorial: windows7 system, nodejs version 12.19.0, DELL G3 computer.

nodejs plug-in

1. Node-xlsx reads and writes Excel

The import and export of excel are many systems Problems that will arise in NodeJS are no exception. Now, we use NodeJS to read and write Excel files

In NodeJS, we use a third-party to read and write files. The tool node-xlsx module supports both the 2003 Excel (.xls) format and the 2007 Excel format (.xlsx)

Now, let’s take a look at the specific operations of this module

Reading operation of Excel

First, we need to install this module

cnpm install node-xlsx --save
Copy after login

The second step is to import the module and read the Excel file

const xlsx=require('node-xlsx');const DBUtil=require('./utils/DBUtil.js');const fs=require('fs');const path=require('path');function readExcel(path){
  var excel=xlsx.parse(path);
  return excel;}var obj=readExcel(path.join(__dirname,"./files/studentinfo.xls"));console.log(obj[0].data);
Copy after login

The above code has completed the reading operation of the Excel file. At this time, what we read is an object, and the information can be seen in the console

For Excel Write operation

Now, we will demonstrate reading the information from a table in the database and then saving it to the local computer. The code is as follows

const excel=require('node-xlsx');const fs=require('fs');const path=require('path');const DBUtil=require('./utils/DBUtil.js');function writeExcel(){
  var conn=DBUtil.getConn();
  conn.query("select * from studentinfo",[],(err,result)=>{
    if(err){

    }
    else{
      var excelArr=[];
      var headerRow=[];
      for(var i in result[0]){
        headerRow.push(i);
      }
      excelArr.push(headerRow);
      for(var i=0;i<result.length;i++){
        var temp=[];
        for(var j=0;j<headerRow.length;j++){
          temp.push(result[i][headerRow[j]]);
        }
        excelArr.push(temp);
      }
      try {
        var buff=excel.build([{name:&#39;学生信息&#39;,data:excelArr}]);
        fs.writeFileSync(path.join(__dirname,"./files/01.xlsx"),buff);
        console.log("ok");
      } catch (error) {
        console.log(err);
      }
    }
  });
  conn.end();}writeExcel();
Copy after login

Here, we found , writing to excel is a little more troublesome, because here, we need to recombine the results obtained in the database and generate Excel

Thinking: If it is generated in the Express framework, The Excel file is as follows for users to download and save locally?

2. Nodemailer sends emails

nodejs is used in many scenarios for sending emails to users. For example, we often After seeing a user register, a registration information will be sent to the user's registered mailbox. At this time, if we want to complete this function, we need to use a third-party module of nodemailer. The specific steps are as follows:

Install the corresponding module

$ cnpm install nodemailer --asve
$ yarn add nodemailer
Copy after login

Import the module and complete the code

const nodemailer=require(&#39;nodemailer&#39;);var transport = nodemailer.createTransport({
  service:"qq",
  auth:{
    user:"365055754@qq.com",
    pass:"peshapwpokgvcahe"
  }});var options={
  from:"365055754@qq.com",
  to:"lovesnsfi@live.com",
  subject:"这是一封来自nodemailer发送的邮件信息",
  text:"这是一封来自nodemailer发送的邮件信息"+(new Date()).toLocaleString(),
  html:"<h2>这是一封来自<u>nodemail</u>的测试邮件···</h2>"};transport.sendMail(options,(err,info)=>{
  if(err){
    console.log(err);
  }
  else{
    console.log(info);
  }});
Copy after login

Send the message after success

{ accepted: [ 'lovesnsfi@live.com' ],
  rejected: [],
  envelopeTime: 221,
  messageTime: 830,
  messageSize: 801,
  response: '250 Ok: queued as ',
  envelope: { from: '365055754@qq.com', to: [ 'lovesnsfi@live.com' ] },
  messageId: '<2fbef9f1-1041-fd59-1111-0b987e8d81da@qq.com>' }
Copy after login

At this time, as long as the program can be in this u place After completing our send request, the above information will be returned. If we do not see the above information, we need to check the information returned by the error here

Instructions: Here When configuring the sending server, we can use a third-party server or a built-in server

Thinking: If the sent content is replaced with a template

const fs=require('fs');const path=require('path');class MailTemplateModel{
  constructor(userName,u_id,registerTime,mail){
    this.userName=userName;
    this.u_id=u_id;
    this.registerTime=registerTime;
    this.mail=mail;
  }
  toString(){
    var str=`尊敬的${this.userName}你好!
    欢迎注册成为我们的会员,你的账号为${this.u_id},你的注册时间为:${this.registerTime}。
    请注意保管好您的账号与密码,如有问题欢迎发送邮件至${this.mail}!
    谢谢!祝您生活愉快!`;
    return str;
  }}module.exports=MailTemplateModel;
Copy after login

The above code encapsulates the email content to be sent into an object, and then uses template syntax to splice strings

Thinking: We wrote the above email content in In an external separate txt file, it is then implemented through the replacement of the String object. How to implement this function?

3. child_process

can create a child process and execute a shell script.

4. node-readbility

A plug-in that can convert website content into simple content.

5. connect

In fact, express also uses this plug-in, and you can also write web programs using connect.

6. express-session

This is a plug-in that uses sessions. The default is forever, which is different from tomcat 30 minutes, so you need to set it yourself. overtime time.

7. The basic-auth plug-in

is used for the simplest authentication method and is generally used for API requests.

8. bcryptjs plug-in (an error is always reported during the bcrypt installation process)

is used to perform hash processing using salt.

9. Collection of reptiles:

(1) Crawling of static pages and api data: request cheerio/jsdom, request is a Request library, you can request post and get information. After obtaining the html data, use a third-party parsing library to parse it, cheerio can be used. For js dynamically rendered pages, you can consider using jsdom, but unfortunately, this is synchronous, and it is not browsing after all. device.

(2) Crawling of dynamically rendered pages

puppeteer: Using chromiun browser, asynchronous request, very efficient, and opens up a lot of browser operations api, very convenient.

nightmare: The API is very convenient to use. Use the browser in electron. Although I have not used it before, I feel that this is not as flexible as puppeteer.

jsdom: Synchronization has put me off using it. Same as selenium.

10、moment.js

This is a lightweight format parsing library. If you write the format parsing function yourself, you will need several dozen lines of function code. It is very convenient to use this.

For more node-related knowledge, please visit: nodejs tutorial! !

The above is the detailed content of What are the nodejs plug-ins?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Is nodejs a backend framework? Is nodejs a backend framework? Apr 21, 2024 am 05:09 AM

Node.js can be used as a backend framework as it offers features such as high performance, scalability, cross-platform support, rich ecosystem, and ease of development.

The difference between nodejs and vuejs The difference between nodejs and vuejs Apr 21, 2024 am 04:17 AM

Node.js is a server-side JavaScript runtime, while Vue.js is a client-side JavaScript framework for creating interactive user interfaces. Node.js is used for server-side development, such as back-end service API development and data processing, while Vue.js is used for client-side development, such as single-page applications and responsive user interfaces.

How to connect nodejs to mysql database How to connect nodejs to mysql database Apr 21, 2024 am 06:13 AM

To connect to a MySQL database, you need to follow these steps: Install the mysql2 driver. Use mysql2.createConnection() to create a connection object that contains the host address, port, username, password, and database name. Use connection.query() to perform queries. Finally use connection.end() to end the connection.

What is the difference between npm and npm.cmd files in the nodejs installation directory? What is the difference between npm and npm.cmd files in the nodejs installation directory? Apr 21, 2024 am 05:18 AM

There are two npm-related files in the Node.js installation directory: npm and npm.cmd. The differences are as follows: different extensions: npm is an executable file, and npm.cmd is a command window shortcut. Windows users: npm.cmd can be used from the command prompt, npm can only be run from the command line. Compatibility: npm.cmd is specific to Windows systems, npm is available cross-platform. Usage recommendations: Windows users use npm.cmd, other operating systems use npm.

What are the global variables in nodejs What are the global variables in nodejs Apr 21, 2024 am 04:54 AM

The following global variables exist in Node.js: Global object: global Core module: process, console, require Runtime environment variables: __dirname, __filename, __line, __column Constants: undefined, null, NaN, Infinity, -Infinity

Is there a big difference between nodejs and java? Is there a big difference between nodejs and java? Apr 21, 2024 am 06:12 AM

The main differences between Node.js and Java are design and features: Event-driven vs. thread-driven: Node.js is event-driven and Java is thread-driven. Single-threaded vs. multi-threaded: Node.js uses a single-threaded event loop, and Java uses a multi-threaded architecture. Runtime environment: Node.js runs on the V8 JavaScript engine, while Java runs on the JVM. Syntax: Node.js uses JavaScript syntax, while Java uses Java syntax. Purpose: Node.js is suitable for I/O-intensive tasks, while Java is suitable for large enterprise applications.

Is nodejs a back-end development language? Is nodejs a back-end development language? Apr 21, 2024 am 05:09 AM

Yes, Node.js is a backend development language. It is used for back-end development, including handling server-side business logic, managing database connections, and providing APIs.

How to deploy nodejs project to server How to deploy nodejs project to server Apr 21, 2024 am 04:40 AM

Server deployment steps for a Node.js project: Prepare the deployment environment: obtain server access, install Node.js, set up a Git repository. Build the application: Use npm run build to generate deployable code and dependencies. Upload code to the server: via Git or File Transfer Protocol. Install dependencies: SSH into the server and use npm install to install application dependencies. Start the application: Use a command such as node index.js to start the application, or use a process manager such as pm2. Configure a reverse proxy (optional): Use a reverse proxy such as Nginx or Apache to route traffic to your application

See all articles