我目前正在使用Angular 5处理Web项目,我希望集成Firebase云消息传递以在app上发送通知,但是我遇到了很多问题,我试图修复它们。现在有两个我无法解决的错误:Namespace 'firebase.auth'
和functions
错误如下:
ERROR in node_modules/angularfire2/auth/auth.d.ts(12,45): error TS2694: Namespace 'firebase.auth' has no exported member 'IdTokenResult'.
node_modules/angularfire2/firebase.app.module.d.ts(2,42): error TS2305: Module '"/Users/gerardtalla/dev/workspaces/ws-parcaune/pms/pms-frontend-2018/node_modules/firebase/app/index"' has no exported member 'functions'.
我该如何解决?我正在使用
Angular 5
" firebase":" 4.8.0"
" angularfire2":" ^ 5.0.0-rc.5"
" @ angular / cli":" ~1.7.3"
如果有人有想法请不要犹豫,请与我分享。非常感谢。
答案 0 :(得分:4)
只需使用" angularfire2":" 5.0.0-rc.5"而不是" angularfire2":" ^ 5.0.0-rc.5"
答案 1 :(得分:1)
这是版本兼容的问题,你可以阅读 AngularFirebase2 Changelog
5.0.0-rc.9(2018-05-16)
auth:将用户和idTokenResult Observable添加到AngularFireAuth(#1642)(31045a9)
答案 2 :(得分:1)
“angularfire2”:“5.0.0-rc.6”, “firebase”:“4.9.0”,
我通过在package.json中进行此更改来解决此问题。
答案 3 :(得分:1)
主要是版本问题
在package.json中进行此更改
这些应该可以解决问题
答案 4 :(得分:1)
npm i-保存firebase @ latest angularfire2 @ latest
尝试一下
答案 5 :(得分:1)
我用这个固定了。
"firebase": "^5.7.0",
"angularfire2": "5.0.0-rc.6",
答案 6 :(得分:0)
我遇到了同样的错误,删除了node_modules中的文件夹并重新安装了Firebase,解决了我的问题。
import java.io.StringWriter;
import java.util.ArrayList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.springframework.util.LinkedCaseInsensitiveMap;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
public class ConvertDBToXMLProcessor implements Processor {
public void process(List body) {
if (body instanceof ArrayList) {
ArrayList<LinkedCaseInsensitiveMap> rows = (ArrayList) body;
DocumentBuilder builder = null;
builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = builder.newDocument();
Element rootElement = document.createElement("DBResultSet");
for (LinkedCaseInsensitiveMap row : rows) {
Element newNode = document.createElement("Row");
row.forEach((key, value) -> {
if (value != null) {
Element newKey = document.createElement((String) key);
newKey.setTextContent(value.toString());
newNode.appendChild(newKey);
}
});
rootElement.appendChild(newNode);
}
document.appendChild(rootElement);
/*
* If you need return string view instead org.w3c.dom.Document
*/
StringWriter writer = new StringWriter();
StreamResult result = new StreamResult(writer);
DOMSource domSource = new DOMSource(document);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no");
transformer.transform(domSource, result);
// return document
// return writer.toString()
}
}
}
主要是版本问题,请使用npm install --save firebase
检查版本,或尝试将其降级到以下错误应该消失
答案 7 :(得分:0)
试试这个
npm install --save firebase @angular/fire -f