Error usando Angular.js – Node.js : Access to XMLHttpRequest at ‘.. ‘has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’

soy nuevo aprendiendo este stack MEAN, espero puedan ayudarme, llevo dias con esto y la verdad no puedo dormir bien por pensar tanto 🙁 .

Logre hacer una peticion get al sitio de JSON (https://jsonplaceholder.typicode.com/posts) y si me devolvio un JSON.

Pero tambien estoy intentando acceder a esta direccion (http://aplicaciones007.jne.gob.pe/srop_publico/Consulta/Afiliado/GetNombresCiudadano?DNI=47099414 ) y ya de por si le estoy agregando un parámetro que solicita, y en la web me devuelve datos(Un nombre y apellido). Pero cuando lo llamo desde angular me tira este error :

Access to XMLHttpRequest at ‘http://aplicaciones007.jne.gob.pe/srop_publico/Consulta/Afiliado/GetNombresCiudadano?DNI=47099414’ from origin ‘http://localhost:4200’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.


core.js:15724 ERROR HttpErrorResponse {headers: HttpHeaders, status: 0, statusText: “Unknown Error”, url: “http://aplicaciones007.jne.gob.pe/srop_publico/Consulta/Afiliado/GetNombresCiudadano?DNI=47099414”, ok: false, …} error: ProgressEvent {isTrusted: true, lengthComputable: false, loaded: 0, total: 0, type: “error”, …} headers: HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, headers: Map(0)} message: “Http failure response for http://aplicaciones007.jne.gob.pe/srop_publico/Consulta/Afiliado/GetNombresCiudadano?DNI=47099414: 0 Unknown Error” name: “HttpErrorResponse” ok: false status: 0 statusText: “Unknown Error” url: “http://aplicaciones007.jne.gob.pe/srop_publico/Consulta/Afiliado/GetNombresCiudadano?DNI=47099414” proto: HttpResponseBase


El codigo de mi servicio es :

 import { Injectable } from '@angular/core'; import {HttpClient}from '@angular/common/http' import { Persona } from '../modelos/persona';  @Injectable({   providedIn: 'root', }) export class PersonaService {    selectedPersona: Persona;   personas:Persona[];   readonly URL_API='http://localhost:3000/Inicio/Persona';   readonly URL_API_RENIEC='http://aplicaciones007.jne.gob.pe/srop_publico/Consulta/Afiliado/GetNombresCiudadano?DNI=47099414';   readonly URL_API_JSON='https://jsonplaceholder.typicode.com/posts';    constructor(private http: HttpClient) {      this.selectedPersona=new Persona();   }    getDataJson(){     return this.http.get(this.URL_API_JSON)   }    getDniPersona(){     return this.http.get(this.URL_API_RENIEC)   }  }  

Y en mi componente ts :

ngOnInit() {      this.personaService.getDataJson() //Obtener los datos de "https://jsonplaceholder.typicode.com/posts"     .subscribe(datos=>{       console.log(datos);     });       this.personaService.getDniPersona() //Obtener los datos de "aplicaciones007.jne.gob.pe/srop_publico/Consulta/Afiliado/GetNombresCiudadano?DNI=47099414"     .subscribe(datos=>{       console.log(datos);     }); } 

Por favor ayúdenme, gracias de antemano.

NODE.js com socket e MySql

estou com um problema com o node, acredito que deve ser algo relacionado a callback´s, porém não tenho certeza, mais enfim, meu problema se resuma basicamente em puxar os dados de um banco MySql, esses dados serão armazenados em uma variável chamada msg. Meu código completo é este:

        const express = require('express');         const path = require('path');         const app = express();         const server = require('http').createServer( app );         const io = require('socket.io')(server);         const mysql = require('mysql');          // conexao com o banco de dados          var con = mysql.createConnection({         host: "localhost",         user: "root",         password: "",         database: "dados_users"         });           app.use(express.static(path.join(__dirname,'public')));         app.set('views',path.join(__dirname,'public'));           app.engine('html',require('ejs').renderFile);         app.set('view engine','html');          app.use('/', ( request , res ) => {             res.render('index.html');         });          let msg =[];            io.on('connection', socket => {          //este select deve retornar as mensagens que estão no banco para a          //variavel msg         // con.connect(function(err) {         //     con.query('SELECT * FROM dados', function(err, rows, fields) {         //         if (err) throw err;         //           msg = rows;         //     });         // });          socket.emit('msg_existentes',msg);    //retorna dados earmazenados na variavel msg          socket.on('recebe_do_front', data => {            console.log(msg);          // con.connect(function(err) {         //     var sql = "INSERT INTO dados (nome, msg) VALUES ('"+data.nome+"', '"+data.msg+"')";         //     con.query(sql, function (err, result) {         //     if (err) throw err;         //         console.log("1 record inserted");         //     });         // });          msg.push( data );     //manter msg na section da pagina         socket.broadcast.emit('envia_para_usuario', data);   //retorna msg do canudo      }); }); server.listen(3001); 

A função que não esta fazendo a parte dela é a função de [ select ], esta abaixo:

   //este select deve retornar as mensagens que estão no banco para a    //variavel msg   con.connect(function(err) {        con.query('SELECT * FROM dados', function(err, rows, fields) {            if (err) throw err;                  msg = rows;        });     }); 

então é isso, quando é executado o programa, ele trás a variável msg vazia. Desde já Muito Obrigado!

How to scale complex node.js application

Imagine a large node.js app with a multi-purpose api for mobile and frontend with a serving static files, with a websocket server, lot of cron jobs and workers. Basically I can horizontally or vertically scale a whole app, use a load balancer and so on.

But from a perspective of a business logic, whole app is one big “bundle” where some parts are used more than others, also some parts have bigger impact on a performance of app than another. For example, mobile API may be used 100x more than some cron which starts 1 time per hour to make some cleanup. So is it necessary to scale whole app?

Isn’t it better to scale app to separate modules and scale only needed? For example

  • mobile api
  • FE api
  • crons and workers
  • websocket
  • whatever…

If so, what is proper way to handle business logic? There is a parts of code I would need in every submodule of application, for example database models, migrations (seeders?), maybe I would need some general functionality, like some specific utils functions or enum definitions. So I can create git submodules for them, but there is risk it will be too much complex to handle 4-6 git repositories with a 2-4 git submodules and handle whole app in multiple environments (dev, stage, uat, prod). Are there some others caveats of this approach? Or is it unusable?

I dived into waters of internet and searched for some resources for example node.js best practice, scaling node.js, scaling node.js, good scaling practice but it not fully answered all my questions.

React Native não inicia aplicação devida a falta de memoria no Node.js

FATAL ERROR: Zone Allocation failed – process out of memory (erro descrito) Bom, finalmente consegui instalar e configurar o ambiente de de desenvolvimento do React Native, porém ao dar run-android o cmd do node exibe uma mensagem de falta de memoria (meu notebook tem apenas 4GB de RAM), resultando em fechar o cmd do node e assim dando erro na aplicação android rodando no emulador.Já estou achando que é impossivel desenvolver em React com 4GB de RAM apenas. FATAL ERROR: Zone Allocation failed – process out of memory (erro descrito)node

Your first Node.js server

In this article, I want to tell you how you can start a simple Node.js HTTP server and begin processing requests.

The HTTP module for your Node.js server
When you start creating HTTP-based applications in Node.js, the built-in HTTP/HTTPS modules are the ones you will interact with.

Now, let’s build your first Node.js HTTP server! We will need to require the HTTP module and bind our server to the port 3000.

// content of index.js const http = require(‘http’)…

Your first Node.js server

[Node.js – Express ]reload nconf

Bom dia, tem como realizar o reload do arquivo sem reestart da aplicação: – tenho um arquivo de config.json, esse arquivo é alterado as vezes, so que a api nao identifica essa configuracao nova, somente depois que reestarta a aplicação.

nconf.argv()
.env() .file(‘package’, ‘package.json’)
.file({ file: path.join(__dirname,’../caminho’, process.env.NODE_ENV + ‘.json’)
});

Node.js Eventloop неожиданное поведение

const https = require('https'); const crypto = require('crypto'); const fs = require('fs'); const start = Date.now();  function doRequest() {     https.request('https://google.com', res => {         res.on('data', () => { })         res.on('end', () => {             console.log('RQ:', Date.now() - start)         })     }).end() }  function doHash(a) {     crypto.pbkdf2('a', 'b', 100000, 512, 'sha512', () => {         console.log('Hash:', a, ' ', Date.now() - start)     }) }  doRequest()  fs.readFile('async.js', 'utf8', () => {     console.log('FS:', Date.now() - start) }) fs.readFile('async.js', 'utf8', () => {     console.log('FS:', Date.now() - start) }) fs.readFile('async.js', 'utf8', () => {     console.log('FS:', Date.now() - start) }) fs.readFile('async.js', 'utf8', () => {     console.log('FS:', Date.now() - start) })   doHash(1) doHash(2) doHash(3) doHash(4) 

Если запустить код в консоли то вывод следующий

RQ: 145 Hash: 1   1184 FS: 1185 FS: 1186 FS: 1186 FS: 1186 Hash: 3   1194 Hash: 2   1194 Hash: 4   1207 

Node по умолчанию использует 4 потока, в них попадает 4 задачи на чтение файла, когда один из потоков освобождается так как требуется ждать ответа от жесткого диска он выполняет следующую задачу это как раз одна из функций doHash() она иполняется, затем приходят ответы от жесткого исполняются все fs.readFile, а затем оставшиеся в очереди doHash()

но если в конце кода убрать doHash(4) то вывод следующий

FS: 64 FS: 70 FS: 70 FS: 70 RQ: 164 Hash: 1   925 Hash: 2   934 Hash: 3   956 

то есть в данном случае почему-то при простаивание не берется из очереди функция doHash() а исполняются сперва все fsReadFile()?

¿Puedo Instalar Paquetes de Node.js sin Conexión a Internet?

antes que nada quiero aclarar que soy de Cuba y aquí el internet es súper caro costando 1$ por hora y por eso formulo esta pregunta. Se que normalmente los paquetes de node se instalan muy facil por sus respectivos comandos y todo funciona muy bien y genial pero hay que tener conexión a internet.

Me gustaría saber por favor si alguien sabe como descargar los paquetes de node para poder instalarlos sin conexión a internet en mi computadora, cabe destacar que la computadora en que escribo estoy no es mi PC personal por lo que necesito poder descargarlos para más adelante poder instalarlos sin conexión a internet, estoy usando un proxy para la conexión a internet.

Agradecería muchísimo si alguien me ayuda y me explica paso a paso como hacer esto posible, no se imaginan cuanto se los agradecería. Muchas gracias de antemano.