Quiero mostrarles a algunos principiantes cómo escribir código Nodejs.
var cookie = require('cookie');
module.exports = función (req, res, conf, views, db) {
.. var cuerpo = req.body,
....id = req.ids[0],
....usid = cookie.parse(req.headers.cookie) .usid;
..función de redirección () {
....res.writeHead(302, { 'ubicación' : '/cuentas' });
....res.end();
..}
..función joinpage() {
....res. writeHead(200, { 'Content-Type' : 'text/html;charset=utf-8' });
....res.write(views.ACCOUNTS_JOIN);
....res.write(views.unit({
......id: 'menú_cuentas',
......nombre: ' menú_cuentas',
.....opciones: {
.....class_id: id
.. ......}
....}));
....res.write(views.unit({
. .....id : ' unir_cuentas',
......nombre: 'unir_cuentas',
......opciones: {
..... acción: '/cuentas/' + id + '/unirse',
.....num: '0'
......}
....}));
....res.end(views.FOOTER);
..}
.. db.session(usid, function (estado) {
....// La sesión ha sido establecida
.. ..if (estado) {
......joinpage();
......return;
.... }
..../ / No hay sesión establecida
....redirect();
..});
};
/// //////////////////////////////////////// ////////// /////////////////////////////////////////// /////// //////////
Este código es una de las funciones de procesamiento de enrutamiento de Nodejs.
Se utilizan el modelo de vista de vistas y la base de datos db, y la configuración global de conf. archivo.
Y el módulo de cookies se utiliza para analizar el ID de la sesión.
modelo de vista de vistas: interfaz HTML de producción [puede cambiar a HTML para PC o móvil en cualquier momento, interfaz consistente]
modelo de datos db: datos de la base de datos de producción
archivo de configuración global conf: el entorno global que necesita
Contenido
Función del código:
Detectar solicitud
....¿Quieres establecer sesión?
.. .. .Sí, salta a la ruta "/"
...No, muestra la interfaz de inicio de sesión para el usuario
Las vistas son responsables de producir la interfaz de vista, en el modelo de vistas Se almacena en caché una gran cantidad de constantes, similar a ACCOUNTS_JOIN, que son diseños de página.
Para el contenido dinámico, se utiliza la tecnología bigpipe de Facebook.
views.unit(/*id, name, css, js, content*/) genera fragmentos de script y los descarga en el navegador para su procesamiento.
Todo el servidor representa todos los diseños de página al inicio y los almacena en caché en el modelo de vistas. Bigpipe envía el contenido dinámico al renderizado frontal.