代码之家  ›  专栏  ›  技术社区  ›  Iter Ator

Angular 6中的xml2js:无法解析“stream”和“timers”

  •  4
  • Iter Ator  · 技术社区  · 6 年前

    我想解析从服务器检索的xml数据。不幸的是 HttpClient xml2js

    npm install xml2js --save
    npm install @types/xml2js --save-dev
    

    然后我试着这样使用它:

    import {Parser} from 'xml2js';
    
    Parser.parseString(xml_str, function (err, result) {
        console.dir(result);
    });
    

    WARNING in ./node_modules/xml2js/node_modules/sax/lib/sax.js
    Module not found: Error: Can't resolve 'stream' in 'C:\projects\app\node_modules\xml2js\node_modules\sax\lib'
    
    ERROR in ./node_modules/xml2js/lib/parser.js
    Module not found: Error: Can't resolve 'timers' in 'C:\projects\app\node_modules\xml2js\lib'
    

    我还没有找到解决这个问题的办法,也许这只是一个角度问题。有没有办法用Angular6解析xml?

    2 回复  |  直到 6 年前
        1
  •  37
  •   andahan    6 年前

    您必须安装这些依赖项。不幸的是没有很好的记录。

    npm install --save stream timers
    
        2
  •  18
  •   ScalableSolutions    6 年前

    1. 使用“npm install timers browserify”添加timers browserify节点模块
    2. 将以下路径映射添加到tsconfig.json文件:
        "compilerOptions": {
          "paths": {
            "timers": [
              "node_modules/timers-browserify"
            ],
            "stream": [
              "node_modules/stream-browserify"
            ],
          }
        }