Javascript 将数据从NPM模块传递到应用程序
没有问题,所以我先道歉。我试图开发我的第一个NPM包,它意味着一些简单的函数,当调用时,将响应数据传递给应用程序 我一直在使用Javascript 将数据从NPM模块传递到应用程序,javascript,npm,node-modules,Javascript,Npm,Node Modules,没有问题,所以我先道歉。我试图开发我的第一个NPM包,它意味着一些简单的函数,当调用时,将响应数据传递给应用程序 我一直在使用npm link将软件包链接到vuejs应用程序,它似乎部分工作正常。当我调用mounted()部分中的getPublicData()函数时,它似乎可以工作。函数中的console.log(response.data)部分确实起作用,并在浏览器控制台中显示数据,但我也试图将响应数据分配给应用程序端的数组,这是我遇到问题的部分 我确信我遗漏了一些基本的东西,但鉴于我在过去使
npm link
将软件包链接到vuejs应用程序,它似乎部分工作正常。当我调用mounted()
部分中的getPublicData()
函数时,它似乎可以工作。函数中的console.log(response.data)
部分确实起作用,并在浏览器控制台中显示数据,但我也试图将响应数据分配给应用程序端的数组,这是我遇到问题的部分
我确信我遗漏了一些基本的东西,但鉴于我在过去使用的NPM包的复杂性,肯定有办法将此响应数据传递给应用程序
我的代码:
Index.js(NPM模块)
HelloWorld.vue
var axios = require("axios")
module.exports = {
getPublicData (req, res) {
axios.get(`http://192.168.0.17:5000/test`)
.then((response) => {
console.log(response.data)
res.send(response.data)
})
.catch((error) => {
console.log("error");
});
}
}
<script>
import dtapp from "dtapp-api" //Linked NPM module
export default {
data () {
return {
myData: [],
}
},
methods: {
},
mounted() {
this.myData = dtapp.getPublicData();
},
}
</script>
从“dtapp api”//链接的NPM模块导入dtapp
导出默认值{
数据(){
返回{
myData:[],
}
},
方法:{
},
安装的(){
this.myData=dtapp.getPublicData();
},
}
您的getPublicData
函数需要返回数据,以便您的应用程序可以使用它。目前它没有返回任何内容
以下是如何做到这一点:
getPublicData () {
return axios.get(`http://192.168.0.17:5000/test`)
.then((response) => {
console.log(response.data)
return response.data
})
}
这将返回一个承诺,因此在应用程序中,您可以执行以下操作:
mounted() {
dtapp.getPublicData()
.then(data => this.myData = data)
.catch(err => console.log("Error occurred:", err))
}
我必须对承诺做更多的研究,但谢谢你,先生,这已经奏效了:)