// 引入模块得使用require("")加载模块
let todo=require("./todo");//可以省略后缀
console.log(todo);
// node里面的require()加载模块的时候可以直接写名称,但是必须放在依赖下加载,并且还要生成配置文件
// 终端进入依赖文件,安装配置文件
let fetch=require("Fetch");
console.log(fetch);
fetch.get("http://www.zjm.com");
Fetch.js
module.exports={get(url){
console.log(url);}}
案例二
common.js
let Axios = require("Axios");
let url = "https://autumnfish.cn/search";
let data ={keywords:'西安'};
const http = require("http");
let app = http.createServer((req, res) =>{res.writeHead(200,{"Content-Type":"text/html;charset=utf-8"});
Axios.get(url,{params: data }).then((result) =>{
res.write(result);
res.end();});});
app.listen(8080)
Axios.js
const http = require("http");
const https=require("https");
//转化方法
let change = (args) =>{
let str = "?";
for (let key in args){
str += key + "=" + args[key];
str += "&";}
return str.slice(0, str.length - 1);}// 暴露出当前对象
module.exports ={get(href,{ params }){// get方式请求。参数在路径上传递
return new Promise((resolve, reject) =>{
// 服务器端发送Ajax请求
href += change(params);
https.get(href, (res) =>{let{ statusCode } = res;
let error;
if (statusCode != 200){error = new Error('Request Failed.\n' +
`Status Code: ${statusCode}`);}if (error){
console.error(error.message);
// Consume response data to free up memory
res.resume();
return;}
//设置响应编码
res.setEncoding("utf8");
let alldata = "";
//监听数据
res.on("data", (info) =>{
alldata += info;})
res.on("end", () =>{
let data =alldata;resolve(data);})});});},
post(){}}