[vc_row el_class=”blog-info”][vc_column][vc_single_image source=”featured_image” img_size=”full” style=”vc_box_rounded”][vc_empty_space height=”40px”][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text el_class=”font-weight-bold”]
Cómo crear un proyecto de Nodejs con Express+TypeScript
Proyecto de Nodejs – Un tutorial muy breve sobre la creación inicial de un servidor Node.js utilizando TypeScript y Express.
[/vc_column_text][vc_empty_space height=”40px”][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text]
¿Por qué estoy escribiendo este breve tutorial? Mi intención es bastante simple de explicar: en el futuro, escribiré algunos artículos que necesitan un proyecto de este tipo.
Y dado que no quiero escribirlo una y otra vez, simplemente me referiré a este artículo aquí para aquellos que no están seguros de cómo llegar a un proyecto de TypeScript.
Comencemos configurando un proyecto de Nodejs simple con TypeScript.
Primero creamos un nuevo directorio de proyectos.
$ mkdir event-sourcing-example
$ cd event-sourcing-example/
Ahora inicializamos Node en este directorio. Con el indicador -y se utilizan los valores predeterminados, lo que debería ser bueno para la implementación ejemplar.
$ npm init -y
Ahora instalemos las dependencias de TypeScript. No los necesitamos en tiempo de ejecución y, por lo tanto, los instalamos como dependencias de desarrollo. Además, todavía necesitamos Express para ejecutar un servidor Node.js.
$ yarn add express
$ yarn add typescript tslint @types/express -D
Ahora tiene que agregar un archivo con la configuración de TypeScript.
$ touch tsconfig.json
Agregue el siguiente contenido a este archivo.
{
"compilerOptions": {
"module": "commonjs",
"esModuleInterop": true,
"target": "es6",
"moduleResolution": "node",
"sourceMap": true,
"outDir": "dist"
},
"lib": ["es2015"]
}
Agregue/reemplace la siguiente parte al paquete.json.
"main": "dist/server.js",
"scripts": {
"dev": "tsc && node dist/server.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
...
Cree un archivo ‘server.ts’, que contendrá el código para Express Server, de la siguiente manera:
$ mkdir src && touch src/server.ts
Para asegurarse de que todo está correcto, puede verificar si su proyecto se ve así:
. |-- node_modules |-- package.json |-- src | `-- server.ts |-- tsconfig.json `-- yarn.lock
Luego agregue ese código al archivo server.ts.
import express from 'express'; const app = express(); const port = 9000; app.get('/', (req, res) => { res.send('Server is up and running!'); }); app.listen(port, () => { console.log(`Server is listening on ${port}`); });
¡Genial! Ya estamos listos para ejecutar el servidor.
$ yarn run dev
En otra ventana de terminal (o en el navegador) podemos comprobar si el servidor se está ejecutando.
$ curl localhost:9000
Si todo está bien, deberíamos ver el resultado “¡El servidor está funcionando!”.
¡Eso es todo! Ahora puede comenzar a implementar su API o aplicación.
¡Buena suerte!
[/vc_column_text][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row][vc_row el_class=”social-info”][vc_column width=”1/6″][/vc_column][vc_column width=”2/3″][vc_row_inner][vc_column_inner width=”1/2″][vc_column_text][social_share_button themes=’theme1′][/vc_column_text][/vc_column_inner][vc_column_inner el_class=”youtube-inner-col” width=”1/2″][vc_column_text][likebtn theme=”youtube” lang=”auto” show_like_label=”0″ white_label=”1″ alignment=”right”][/vc_column_text][/vc_column_inner][/vc_row_inner][vc_row_inner el_class=”social-info-inner”][vc_column_inner width=”1/4″][vc_single_image image=”921″][/vc_column_inner][vc_column_inner width=”3/4″][vc_column_text]
Diego Pacheco
Ingeniero en Sitemas, MBA (Babson College). Desarrollador PHP/Java/JavaScript. Fundador & CEO de EpicStudio. Entusiasta de las tecnologías web (JavaScript, Vue, Laravel, AWS, Docker) Viajes, Negocios, Surf y Growth.[/vc_column_text][asvc_list_item icon_fontawesome=”fa fa-calendar-o” icon_size=”14px”]Programar una reunión[/asvc_list_item][/vc_column_inner][/vc_row_inner][/vc_column][vc_column width=”1/6″][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
Recent Post
[/vc_column_text][lvca_posts_carousel posts_query=”size:3|order_by:rand|post_type:post” image_linkable=”true” image_size=”full” taxonomy_chosen=”post_tag” display_title=”true” display_post_date=”true” display_summary=”true” autoplay_speed=”3000″ animation_speed=”300″ display_columns=”3″ scroll_columns=”3″ gutter=”3″ tablet_display_columns=”2″ tablet_scroll_columns=”2″ tablet_gutter=”3″ tablet_width=”800″ mobile_display_columns=”1″ mobile_scroll_columns=”1″ mobile_gutter=”3″ mobile_width=”480″][vc_empty_space height=”20px”][/vc_column][/vc_row]
