Javascript ReactJS组件无法解析域名
当我使用像Javascript ReactJS组件无法解析域名,javascript,reactjs,Javascript,Reactjs,当我使用像 const React = require('react'); const dns = require('dns'); class DnsResolver extends React.Component { componentDidMount() { dns.resolve('https://www.google.com', (err, addresses) => { this.setState({
const React = require('react');
const dns = require('dns');
class DnsResolver extends React.Component {
componentDidMount() {
dns.resolve('https://www.google.com', (err, addresses) => {
this.setState({
address: addresses
});
});
}
render() {
return (
<div>
{this.state.address}
</div>
);
}
}
module.exports = DnsResolver;
const React=require('React');
const dns=require('dns');
类DnsResolver扩展了React.Component{
componentDidMount(){
dns.resolve('https://www.google.com“,(错误,地址)=>{
这是我的国家({
地址:地址
});
});
}
render(){
返回(
{this.state.address}
);
}
}
module.exports=DnsResolver;
结果是
0.0.0.0
。不知何故,浏览器无法解析地址。为什么会发生这种情况?dns是一个本机NodeJS模块,它打算在服务器中使用。您不能从浏览器使用dns。说明在哪里?那么,dns.resolve()
函数的作用是什么?这是web extensions API,而不是Javascript页面。当我尝试使用mongodb
npm模块时,我的问题开始了。它使用dns
npm模块解析mongodb地址,但由于它在前端运行,dns.resolve()
转换为此web扩展函数。NodeJSdns
返回一个数组,但是web扩展dns
可能返回string
。问题就从这里开始。我可能不应该在前端使用mongodb
。您也不能从浏览器中使用mongodb。你需要一个后端。