簡體   English   中英

Angular 6中的xml2js:無法解析'stream'和'timers'

[英]xml2js in Angular 6: Can't resolve 'stream' and 'timers'

我想解析從服務器檢索的xml數據。 不幸的是HttpClient不支持xml,只支持json,因此我安裝了包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問題。 有沒有辦法解析Angular6中的xml?

您必須安裝這些依賴項。 遺憾的是,沒有詳細記錄。

npm install --save stream timers

要使Angular識別xml2js,需要執行以下步驟:

  1. 使用“npm install timers-browserify”添加timers-browserify節點模塊
  2. 使用“npm install stream-browserify”添加stream-browserify節點模塊
  3. 在tsconfig.json中添加以下路徑映射:
    "compilerOptions": {
      "paths": {
        "timers": [
          "node_modules/timers-browserify"
        ],
        "stream": [
          "node_modules/stream-browserify"
        ],
      }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM