TECNOLOBO

No recuerdas tu codigo?
Se te olvido como se hace?

Aqui podras guardar lo que necesiten
Y cuando sea necesesario

Creado por julian gomez
iiiiii

Tipe script con express



Descripcion

usar typescript con node y express

nota


1. Instalar typescript en node : npm i -g typescript
2. iniciar typescript : tsc --init
3. En tsScript seteamos :
	- "outDir": "./dist"  
	- "sourceMap": true,  //Esto es para que si existe error en typescript veamos el error equivalente en javascript
	- "moduleResolution": "node10"
4. crear un archivo app.ts
5. ejecutar el comando tsc
6. instalar un paquete para desarrollo, esto se usa para escribir codigo con buenas practicas : 
	- npm i tslink -save-dev  
7. instalamos typescript en el proyecto solo para desarrollar :
	- npm i typescript --save-dev
8. Inicinado el archivo de cconfiguracion ejecutando el script en la ruta espesificada:
	- .\node_modules\.bin\tslint --init
9. En el archivo de configuracion de reglas creamos la regla de que nos permita usar el console.log dentro de rules objeto
	- "no-console":false

10. Instalamos express y podemos crear el servidor de express usando ts
	-npm i express  cors dotenv

11. Nota: al usar express es decir importarlo va generar un error por que no se han instalado la definicion de tipado de express para Typescrip con lo cual se debe instalar esos tipados 
		- npm i --save-dev @types/express


11.1. De ahora en adelante se debe compilar los archivos de la siguiente manera
	- tsc  --watch //compila todos los archivos tsc pero automaticamente cuando algo cambie
11.2.
	En otra terminal
	- nodemon app.js // para que nodemon observe los cambios que genere tsc al traspilar a javascript

11. fin de ahora en adelante debemos crear archivos .ts



						

modulo


import express,{Application} from 'express';
import routerUsuario from '../routes/usuario';
import cors from 'cors';

class Server {

  private app:Application;
  private port:string;
  private apiPaths = {
    usuarios :'/api/usuarios'
  }

  constructor(){
    this.app = express();
    this.port=process.env.PORT||'8000';
    
    //middelware
    this.middelwares();
    
    this.routes();

  }


  middelwares(){
    //CORS
    this.app.use(cors());

    //convierte lo que resive como parametro de body como un json
    this.app.use(express.json());

    //Carpeta publica
    this.app.use(express.static('public'));


  }

  listener(){
    this.app.listen(this.port,()=>{
      console.log('Servidor !! corriendo en ',this.port);
    });
  }

  routes(){
    this.app.use(this.apiPaths.usuarios,routerUsuario);
  }

}

export default Server;


						

app


import dotenv from 'dotenv';
import Server from './models/server';

//
dotenv.config();

const server = new Server();

server.listener();