Módulos comunes de Nodejs y su uso
express: marco de construcción del servidor
utilizar
Importación e inicialización
const express = require('express')
const app = express()
utilizar
app.get('/', function (req, res) {
res.send('Hello World')
})
app.listen(3000)
body-parser: analiza el contenido del cuerpo solicitado por el cliente
utilizar
Introducir
var bodyParser = require('body-parser')
utilizar
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({
extended: false }))
// parse application/json 解析json数据
app.use(bodyParser.json())
solicitud: respuesta http
utilizar
Introducir
request = require('request');
poner solicitud
var rand = Math.floor(Math.random()*100000000).toString();
request(
{
method: 'PUT',
uri: 'http://mikeal.iriscouch.com/testjs/' + rand,
multipart:
[ {
'content-type': 'application/json',
body: JSON.stringify({
foo: 'bar', _attachments: {
'message.txt': {
follows: true, length: 18, 'content_type': 'text/plain' }}})
},
{
body: 'I am an attachment' }
]
},
function (error, response, body) {
if(response.statusCode == 201){
console.log('document saved as: http://mikeal.iriscouch.com/testjs/'+ rand)
} else {
console.log('error: '+ response.statusCode)
console.log(body)
}
})
obtener solicitud
request(
{
method: 'GET'
, uri: 'http://www.google.com'
, gzip: true
}
, function (error, response, body) {
// body is the decompressed response body
console.log('server encoded the data as: ' + (response.headers['content-encoding'] || 'identity'))
console.log('the decoded data is: ' + body)
}
)
.on('data', function(data) {
// decompressed data as it is received
console.log('decoded chunk: ' + data)
})
.on('response', function(response) {
// unmodified http.IncomingMessage object
response.on('data', function(data) {
// compressed data as it is received
console.log('received ' + data.length + ' bytes of compressed data')
})
})
querystring: utilizado para analizar la URL
morgan: módulo de registro
utilizar
Introducir:
const morgan = require('morgan')
utilizar:
// log only 4xx and 5xx responses to console
app.use(morgan('dev', {
//开发者模式下,仅4|5开头的日志
skip: function (req, res) {
return res.statusCode < 400 }
}))
// log all requests to access.log
app.use(morgan('common', {
stream: fs.createWriteStream(path.join(__dirname, 'access.log'), {
flags: 'a' })
}))
app.get('/', function (req, res) {
res.send('hello, world!')
})
módulo de operación de base de datos mysql
utilizar
Introducir:
const mysql= require('mysql');
Usa una sola conexión
var connection = mysql.createConnection({
host: 'example.org',
user: 'bob',
password: 'secret'
});
connection.connect(function (err) {
//错误处理
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
//没有错误执行的内容
console.log('connected as id ' + connection.threadId);
});
O puede ser así
var connection = mysql.createConnection(...);
connection.query('SELECT 1', function (error, results, fields) {
if (error) throw error;
// connected!
});
Conectarse usando el grupo de conexiones
var pool = mysql.createPool({
connectionLimit: 10,
host: 'example.org',
user: 'bob',
password: 'secret',
database: 'my_db'
});
pool.query(sql, function (error, results, fields) {
if (error) throw error;
console.log('The results is: ', results);
});
Descripción del parámetro y del método:
Método: createPool: Crea un grupo de conexiones
connectionLimit: el número máximo de conexiones
host: el nombre de host que necesita estar conectado
usuario: el nombre de usuario para conectarse a la base de datos
contraseña: el usuario corresponde a la base de datos contraseña de inicio de sesión
base de datos: la base de datos conectada
Método: consulta: ejecutar consulta
sql:
error ejecutado de la instrucción sql :
resultados de información de error : contiene
campos de resultado de consulta : contiene información sobre los campos de resultado devueltos (si los hay)
Para obtener más ejemplos de módulos, consulte npmjs