簡體   English   中英

Ionic 2找不到模塊'dgram'

[英]Ionic 2 cannot find module 'dgram'

我已經安裝了模板Ionic 2應用程序,並希望添加NPM包bonjour

在我的組件中安裝並包含這樣的包之后:

var Bonjour = require('bonjour');
var bonjour = new Bonjour();

該應用程序將無法運行說明'找不到模塊dgram'

該應用程序同時安裝了bonjour包和bonjour類型。

問題

應用程序找不到位於@ types / node文件中的模塊dgram。 該項目正在運行TS 2.4.2 ,不需要任何對@types的引用,這應該自動獲取。

我試過了什么

我嘗試以多種方式包含@types文件夾,方法是在ts.config.json文件中設置typeroots或types。 這並沒有改變任何事情。

我嘗試指定類型:

"types": ["node", "bonjour"]

我嘗試重新安裝所有節點模塊並清除緩存

我嘗試在require語句上面的組件中包含一個引用路徑:

/// <reference path="node_modules/@types/node/index.d.ts" />

var Bonjour = require('bonjour');
var bonjour = new Bonjour();

這一切都沒有幫助。 有關如何使我的應用程序正確加載此模塊的任何想法?

Bonjour包有一個DatagramPlugin,它需要dgram才能正常運行。 在Ionic 2中,此套餐不可用。 解決方案是使用Native Zeroconf軟件包作為替代方案。

DGRAM庫包含Node.js的,因為v0.1.99所看到這里

只要您使用v0.1.99之后的節點版本,就會始終定義dgram。 您的問題僅適用於Typescript類型。


確保使用npm i --save-dev @types/node安裝節點類型,並在tsconfig.json文件中包含es6 lib。

如果上一步不起作用,請將其添加到頂部: import * as dgram from "dgram";

如果沒有任何作用,您可以從此處復制模塊定義,然后自行導出。


額外提示:如果您因為某些原因不信任tsconfig.json ,請直接在tsc命令中傳遞libtypes參數,例如: tsc --lib es6 --types node -p .

暫無
暫無

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

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