typescript - Angular2 integration till kärnsystemet och node.js-bibliotek
Jag studerar Angular2, Typescript och reaktiv programmering. Jag skrev en enkel Typescript-applikation i NodeJs som övervakar en katalog för förändringar (kärn-OS och filsystem). I en enda fil. Här är den https://github.com/maroshi/nodejs-directory-monitor/blob/master/app.ts
Nu vill jag lägga till ett interaktivt GUI till det med hjälp av Angular2. Jag vill integrera min katalogövervakare som en tjänst i Angular2-applikationen.
Frågorna.
- Är det arkitektoniskt säkert/korrekt att låta en Angular2-applikation få åtkomst till filsystemet och operativsystemet (förutsatt att det är en avancerad NodeJs-server)?
- Hur man integrerar NodeJs
fs-verktygsbiblioteket i en Angular2-applikation.
Jag använder Angular2-snabbstartsmallen från https://github.com/angular/quickstart.
Jag ändrade app.component.ts
import * as FileSystem from 'fs';
import { Component, OnInit } from '@angular/core';`
@Component({
selector: 'my-app',
template: `
<h1>My First Angular 2 App</h1>
<p>Some FileSystem info: {{dirInfo}}</p>
`
})
export class AppComponent implements OnInit {
private proccesInfo: string;
ngOnInit(){
let tmpString: string[] = FileSystem.readdirSync('/home');
this.dirInfo = tmpString != null ? tmpString[0] : 'undefined';
}
}
Detta kompilerar bra men misslyckas med att bootstrapa med följande fel:
GET XHR http://localhost:3000/fs 404 (Not Found)
Error: patchProperty/desc.set/wrapFn@http://localhost:3000/node_moduleszone.js/dist/zone.js:769:27
Zone</ZoneDelegate</ZoneDelegate.prototype.invokeTask@http://localhost:3000/node_modules/zone.js/dist/zone.js:356:24
Zone</Zone</Zone.prototype.runTask@http://localhost:3000/node_modules/zone.js/dist/zone.js:256:29
ZoneTask/this.invoke@http://localhost:3000/node_modules/zone.js/dist/zone.js:423:29
Error loading http://localhost:3000/fs as "fs" from http://localhost:3000/app/app.component.js
Vänligen ge råd om denna undersökning.
Observera att tsconfig.json är den standard tsconfig.json från länken ovan. Kompilerar för NodeJs "module": "commonjs",
Tack Glädje och lycka
Dudi