我正在构建Angular 7 Web应用程序,并且我正在尝试合并一些功能,以便用户完成调查并提交结果。在我能够建立一个数据库来存储信息之前,我想将结果存储在本地json文件中。但是,我很难找到一种无需使用Node.js'fs'模块即可附加到现有本地文件的方法(我已阅读到Angular 6-7不能使用此功能)。
我没有办法这样做吗?我知道这不是最好的方法,我计划在应用程序启动并运行后合并服务器端和数据库功能。
答案 0 :(得分:1)
您可以使用fileSaver。
尝试以下
npm install file-saver --save
然后向您的项目中添加一个声明文件,例如“ declarations.d.ts”,并放入其中
declare module 'file-saver';
在您的systemjs.config.js中,将以下内容添加到地图部分
'file-saver': 'npm:file-saver/FileSaver.js'
然后将库导入到组件或服务中,如下所示
import { Component } from '@angular/core';
import * as saveAs from 'file-saver';
@Component({
selector: 'my-app',
template: `<h1>Hello {{name}}</h1>
<button (click)="SaveDemo()">Save File</button>`,
})
export class AppComponent {
name = 'Angular';
SaveDemo() {
let file = new Blob(['hello world'], { type: 'text/csv;charset=utf-8' });
saveAs(file, 'helloworld.csv')
}
}
希望有帮助。
答案 1 :(得分:-1)
我一直在研究解决方案,但我不认为有办法实现我想做的事情,而且我认为部分原因是Angular的设计。我决定现在就硬着头皮,而不是稍后再将Firebase整合到我的应用程序中。根据我的阅读,它相对较快,不需要我付出很多努力