我正在构建一个Angular 7 web应用程序,我正在尝试合并用户完成调查并提交结果的功能。在我能够设置一个数据库来存储信息之前,我一直希望将结果存储在一个本地json文件中。然而,我很难找到一种方法来在不使用Node.js 'fs‘模块的情况下附加到现有的本地文件中(我读到这个功能不能与Angular 6-7一起使用)。
有没有办法让我这么做?我知道这不是最好的方式,我计划在我启动并运行应用程序后,将服务器端和数据库功能结合起来。
发布于 2019-02-07 16:09:59
您可以使用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')
}
}
希望能有所帮助。
发布于 2019-02-07 23:29:10
我一直在寻找我的解决方案,但我不相信有办法实现我试图做的事情,我认为这在一定程度上是由于Angular的设计方式。我已经决定现在就咬住子弹,而不是以后,并将Firebase整合到我的应用程序中。根据我所读到的,它相对较快,不需要我做太多的工作
https://stackoverflow.com/questions/54562812
复制相似问题