[手写系列]使用axios封装一个天气预报的package,并发布至NPM

第一步

先初始化然后安装依赖,我要用到axios处理异步请求,所以要安装axios

//初始化项目
npm init
//安装axios
npm install -g http-sever
npm install -save axios

建议大家如果不能科学冲浪,把国内npm源换成淘宝源或者使用yarn.(而且科学冲浪还得开全局,开了全局还会卡,安装缓慢,卡到一半出问题,说多了都是泪,因此建议直接更换源)

//直接换
npm config set registry https://registry.npm.taobao.org
//查询当前源
npm config get registry
//还原回来
npm config set registry https://registry.npmjs.org/

第二步

按照axios的文档来,自己写个模块并导出

  • 返回一个new Promise对象,当我使用这个导出来的方法,
  • 使用方法时直接使用then()和catch()就可以为所欲为对面的数据做出控制
const axios = require('axios')

function getWeather(city){
    
    
  return new Promise((resolve,reject)=>{
    
    
    axios.get(`自己去找个免费的天气api=${
      
      encodeURI(city)}`)
      .then( response => {
    
    
        resolve(response.data)
      })
      .catch(e=>{
    
    reject('网络异常')})
  })
}
module.exports = getWeather

测试一下:
新建个test.js

const getWeather = require('./index')

getWeather('北京')
  .then(data => console.log(data))
  .catch(e=> console.log(e))
node test.js

成功!

在这里插入图片描述

最后的最后

发布到npm上

npm publish

好了现在只需要在你的项目环境下

npm install sunnyday

在你的文件中引入sunnyday模块,然后再函数中输入对应的城市名,即可得到天气

下面是我的天气模块发布成功的链接
https://www.npmjs.com/package/sunnyday
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/MS6324_ZAKU/article/details/110253357
今日推荐