首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对角2使用外部库

对角2使用外部库
EN

Stack Overflow用户
提问于 2017-02-04 10:31:30
回答 2查看 458关注 0票数 1

我使用角2+角CLI来构建一个应用程序。我找到了一个很酷的库'csvtojson‘,它能根据我的演示做我想做的事情,所以我尝试将它包含在我的项目中。然而,我的第一个问题是,是否有可能将这个库包含在我的项目中,因为我不认为它是为角2构建的?如果没有..。这是否意味着我只能把目光移开而感到悲伤?

如果是..。我将如何实现它。我在下面所做的是行不通的。

代码语言:javascript
复制
1. npm i --save csvtojson
2. inside app.module.ts 
    import { csvtojson } from 'csvtojson'
    providers: [
      {{...}}
      csvtojson //test
    ],

3. app.component.ts
    import { csvtojson } from 'csvtojson'
    constructor(private csvToJson: csvtojson) { }
    this.csvToJson.csv({ noheader: true })
        .fromString(data)
        .on('csv', (csvRow) => { // this func will be called 3 times
             console.log('afasf',csvRow) // => [1,2,3] , [4,5,6]  , [7,8,9]
        })
        .on('done', () => {
            //parsing finished
        })

我得到了这个错误

未找到./~/csvtojson/libs/core/workerMgr.js模块中的错误:错误:无法在'/Users/james/Desktop/web-app/nod e_模块/csvtojson/libs/core‘中解析'child_process’

EN

回答 2

Stack Overflow用户

发布于 2017-02-04 10:45:39

因为这个库需要在节点服务器上运行,所以不能在浏览器中使用child_process

对于浏览器,此解决方案可以帮助您https://www.bennadel.com/blog/1504-ask-ben-parsing-csv-strings-with-javascript-exec-regular-expression-command.htm

票数 0
EN

Stack Overflow用户

发布于 2017-03-28 16:30:19

不需要外部图书馆。

这里是csvTOjson的工作柱塞

代码语言:javascript
复制
    import {Component, NgModule} from '@angular/core'
    import {BrowserModule} from '@angular/platform-browser'

    import { Component } from '@angular/core';

    @Component({
      selector: 'my-app',
      templateUrl: './app.html'
    })
    export class AppComponent {
      title = 'csvTOjson works!';
      text  : any ;
      JSONData : any;
      csvJSON(csvText) {
       var lines = csvText.split("\n");

       var result = [];

       var headers = lines[0].split(",");
       console.log(headers);
       for (var i = 1; i < lines.length-1; i++) {

           var obj = {};
           var currentline = lines[i].split(",");

           for (var j = 0; j < headers.length; j++) {
               obj[headers[j]] = currentline[j];
           }

           result.push(obj);

       }

       //return result; //JavaScript object
       console.log(JSON.stringify(result)); //JSON
       this.JSONData = JSON.stringify(result);
    }

     convertFile(input) {

     const reader = new FileReader();
     reader.readAsText(input.files[0]);
     reader.onload = () => {
       let text = reader.result;
       this.text = text;
       console.log(text);
       this.csvJSON(text);
     };

    }
    }


    @NgModule({
      imports: [ BrowserModule ],
      declarations: [ AppComponent ],
      bootstrap: [ AppComponent ]
    })
    export class AppModule {}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42039295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档