proyecto de marco de la estructura del directorio de implantación node_egg _

// proyecto de huevo inicialización rápida 
// crear el directorio de huevo y abrir el huevo, se puede omitir 
$ mkdir huevo - && cd de huevo Ejemplo Ejemplo

// andamios generar huevo proyecto 
$ NPM el init = huevo --type la simple
 // error de instalación 
  código de error ENOLOCAL
  No se pudo instalar a partir de error "Files \ nodejs \ node_cache \ _npx \ 18476" , ya que no contienen un archivo package.json.
 // Solución: 
  "Sustitución de la ruta de caché de nodo" en el directorio del proyecto de ejecución:
  Cache de configuración del #npm SET "C: \ Users \ las ventanas de inicio de sesión nombre de usuario \ AppData \ Roaming \ NPM-caché" - , Ingreso libre Ltd.
  "Directory y - sin espacios entre lo global".

// instalaciones se basan 
$ i NPM

// iniciar el proyecto: 
$ dev NPM RUN
$ Abra http: // localhost: 7001


// estructura de directorios 
de huevo Proyecto
├── package.json
├── app.js (opcionales)                   // para la aduana de inicio de inicialización 
├── agent.js (opcional)                 // para la inicialización de inicio personalizada 
├── App
 | ├── router.js                   // para la configuración de reglas de enrutamiento URL 
│ ├── Controller                  // para analizar la entrada del usuario, el procesamiento se devuelve un resultado correspondiente, 
│ |    └── home.js
│ ├── servicio (opcional)              // para escribir la lógica de negocio 
│ |    └── user.js
│ ├── middleware (opcional)           // para escribir middleware 
│ |    └── response_time.js
│ ├── programación (opcional)             // para la tarea programada 
│ |    └── my_task.js
│ ├── pública (opcional)               // para la colocación de recursos estáticos index.html, CSS, img ..... 
│ |    └── reset.css
│ ├── vista (opcional)                 // se utiliza para colocar el archivo de plantilla 
│ |    └── para home.tpl tiene ya
│ └── extienden (opcional)               // para bastidor que se extiende 
│ ├── helper.js (opcional)
│ ├── request.js (opcional)
│ ├── response.js (opcional)
│ ├── context.js (opcional)
│ ├── application.js (opcional)
│ └── agent.js (opcional)
├── config 
| ├── plugin.js                   // se utiliza para configurar los plugins de carga 
|. ├── configuración por defecto Js           // utilizados para escribir el archivo de configuración 
│ ├── config.prod.js
 |    ├── config.test.js (opcionales)
 |    ├── config.local.js (opcionales)
 |    └── config.unittest.js (opcional)
El └── Prueba                            // prueba de unidad 
    ├── Middleware
     |    └── response_time.test.js
    └── controlador
        └── home.test.js



// marco incorporado objeto de base 
de aplicación, Contexto, solicitud, respuesta, y algunos objetos de extensiones de estructura (Controller, Servicio, ayudante, Config , Logger)

// objeto Aplicación 
// Aplicación es un objeto de la aplicación global, en una sola aplicación, sólo para instanciar un 
// el controlador, Middleware, ayudante, el servicio puede ser accedido por this.app objeto Aplicación 
  // evento: 
  Servidor: El evento un proceso de trabajo se activa sólo una vez, después de la finalización de las inicia el servicio HTTP, HTTP del servidor a través de este evento será expuesto al desarrollador.
  Error: hay alguna anormalidad después de ser capturado onerror plug-in se disparará un evento de error, el objeto de error contexto y tiempo de ejecución asociado (si existe) se expone a un desarrollador, puede iniciar su sesión de informes y otro procesamiento personalizado.
  solicitud y la respuesta: la aplicación recibe la solicitud y responder a las solicitudes, respectivamente, activarán los eventos de petición y respuesta y el contexto actual solicitud expuesta, los desarrolladores pueden controlar estos eventos que se registran.
  @ Acceso: 
  la herencia en el controlador, servicio de instancia de la clase base, por este acceso a la .app objeto de aplicación.

// Contexto Objeto 
// Contexto objeto es un nivel de solicitud, el marco se montará sobre todo de la instancia de contexto de servicio, 
la forma más común es conseguir ejemplar Context Middleware, controlador y Servicio, usted puede a través de esta visita a .ctx objeto de contexto


// Solicitud y los objetos de respuesta 
// petición es una petición objeto de clase, heredado de Koa.Request. HTTP Request objetos encapsulan nativa Node.js se proporciona un método de adquisición de una serie de peticiones HTTP parámetros comunes de asistencia. 
// la respuesta es una solicitud objeto de clase, heredado de Koa.Response. Encapsula los objetos nativos de respuesta HTTP Node.js, se proporciona un método de establecer un rango de respuesta HTTP apoyo. 
  // Get realización, 
  se puede obtener la solicitud de instancia (ctx.request) y la respuesta (ctx.response) la solicitud actual de la instancia de contexto.
  // App / Controlador / user.js 
  clase el extiende el UserController el controlador {
    async fetch () {
      const {app, ctx} = esta ;
      const ID = ctx.request.query.id;
      ctx.response.body = app.cache.get (id);
    }
  }
  // Como en el ejemplo anterior son ctx.request.query.id equivalente y ctx.query.id, ctx.response.body = ctx.body = y son equivalentes. 
  // Tenga en cuenta que para conseguir el cuerpo de POST debe utilizar ctx.request.body, en lugar ctx.body.

// Controlador de objetos 
// marco proporciona una clase base Controller, y recomendó que toda controlador hereda de la implementación de la clase base. La clase base tiene las siguientes propiedades Controller 
    CTX - los Ejemplos contexto de la solicitud actual.
    App - la instancia de aplicación de la aplicación.
    config - la aplicación de configuración.
    Servicio - para aplicar todo el servicio.
    logger - el paquete actual registrador controlador destino.
  // App / Controlador / user.js 
  const = la requieren que el controlador ( 'huevo' ) .Controller;
  clase UserController extiende Controller {
    // aplicar 
  }
  module.exports = UserController;


// objetos de servicio 
// marco proporciona una clase base de servicio, y recomendó que todo el servicio herede implementado en la clase base. 
// el atributo de la clase base y las propiedades de la clase base controlador de servicio, el acceso a una manera similar: 
  // App / -Servicio / user.js 
  const = la requieren el servicio ( 'huevo' ) .Service;
  clase UserService extiende servicio {
    // aplicar 
  }
  module.exports = UserService;

 

Supongo que te gusta

Origin www.cnblogs.com/JunLan/p/12535930.html
Recomendado
Clasificación