解决报错问题

336 阅读1分钟

npm

报错:npm install报错解决fatal: Unable to look up github.com (port 9418) npm ERR! exited with error code: 128

  • 解决:
git config --global url."https://".insteadOf git://   # 执行这句后在安装依赖
npm install  # 安装依赖

Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 10.x

  • 卸载 node-sass
npm unstall node-sass -D
  • 删除 node_modules 文件
  • 重新安装
npm install node-sass -D
  • 下载安装全部依赖
npm install
  • 重新启动
npm run serve

跨域

关键代码

import { read } from "@/api/read";

// 报错写法 --- 如上图报错
// res.data 为上一个请求返回的请求地址(含查询参数),长这样:https://s.zhangyue.com/getReadPosition?appId=1c09c2ff&bid=12195208&rentId=102455&sign=265edcd9ddc22762&timestamp=1603357903&userId=583717246ac642ab99da21f28441433c"
axios.get(res.data).then((res2) => {  
    console.log(222, res2);
    this.getReadPath(res2.body.chapterId);
})
.catch((err) => {
    console.log(err);
});

// 解决写法
// 请求参数转对象
let params = res.data.split("?")[1].split("&");
params.map((item) => (obj[item.split("=")[0]] = item.split("=")[1]));
console.log(obj);

// 发送请求
read(obj).then((res2) => {
    this.getReadPath(res2.body.chapterId);
})
.catch((err) => {
    console.log(err);
});

解决方案

  • 单独封装请求一个api,不要直接以返回的url来请求
// request.js
import axios from 'axios'
const instance = axios.create({
    timeout: 1000 * 12
})

instance.interceptors.request.use(config=>{
    return config
},err=>{
    return Promise.reject(err)
})

instance.interceptors.response.use(res=>{
    return res.data
}, err=>{
    return Promise.reject(err)
})

export default instance

// read
import requst from './request'
export const read = (params) => requst.get('https://s.zhangyue.com/getReadPosition', {params})