Я новичок в Angular и Javascript в целом и реализовал простой TCP WebSocket, который выбирает поток данных, отправляющий файлы .csv. Для WebSocket я использую 'ws' и переформатирую данные в. json объекты, я использую 'csvto json', оба устанавливаются через NPM.
Теперь я пытаюсь реализовать тот же logi c в app.component.ts нового проекта Angular, установил пакеты через NPM, но до сих пор не могу понять, как сделать импортная работа. Я попробовал официальное решение из The Angular Documentation , хотя с этим методом я все еще получаю ошибки из индекса. js of csvto json ('require not defined'). К настоящему моменту я перепробовал множество вещей и очень отчаялся. Код моего app.component.ts следующий:
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
listenToOutput();
// Connect the application using TCP over a certain port
//
listenToOutput() {
let client = new net.Socket();
client.connect({
port:2404
})
client.on('connect',function(){
console.log('## Client: connection established with server ##');
console.log('-------------client details--------------');
var address = client.address();
var port = address.port;
var family = address.family;
var ipaddr = address.address;
console.log('Client is listening at PORT ' + port);
console.log('Client IP: ' + ipaddr);
console.log('Client is IP4/IP6: ' + family);
console.log('-----------------------------------------');
});
client.setEncoding('utf8');
//let incData = [];
client.on('data',function(data) {
csv({
noheader:true,
output: "csv"
})
.fromString(data)
.then((csvRow) =>
csvRow.forEach(element => {
console.log(element);
});
})
});
setTimeout(function() {
console.log('Shutting down...');
client.end();
},5000);
}
}
То, что я ищу, - это правильный способ включения обычных пакетов npm, которые отлично работают с простой установкой и импортом с javascript, но для Angular . Я уже искал решения, но не нашел ничего, что работало бы.