有几个问题想问一下
来源:8-1 书架标题组件布局实现
慕函数758891
2020-11-27
1、已经在vue.config.js中配置了这些方法:
mock(app,’/book/home’,homeData)
mock(app,’/book/shelf’,shelfData)
mock(app,’/book/list’,listData)
mock(app,’/book/flat-list’,flatListData)
那么Mock/index.js里的这些方法还有用吗?:
Mock.mock(//book/home/,‘get’,home)
Mock.mock(//book/shelf/,‘get’,shelf)
Mock.mock(//book/list/,‘get’,list)
Mock.mock(//book/flat-list/,‘get’,flatList)
2、api/store中的这个方法:
export function detail(book) {
return axios({
method: ‘get’,
url: ${process.env.VUE_APP_BOOK_URL}/book/detail,
params: {
fileName: book.fileName
}
})
}
url后的/book/detail是什么意思呢,我看上面的几个方法里并没有设置“/book/detail”这个url。。不太理解,如果我本地资源文件是这样的:
我应该怎么写这个url呢?
VUE_APP_RES_URL=http://localhost:8081
VUE_APP_BASE_URL=http://localhost:8080
VUE_APP_BOOK_URL=http://localhost:8081/epub2
VUE_APP_EPUB_OPF_URL=http://localhost:8081/epub2
↑8081是我的nginx端口号
是不是因为我本地根本没有detail.json这个文件?。我想去访问老师的网址:http://47.99.166.157:3000/book/detail,下载下来的detail.json就是:{“error_code”:1,“msg”:“电子书信息获取失败”}
如果我的VUE_APP_BOOK_URL是http://47.99.166.157:3000,所有东西就都是好使的。
1回答
-
同学你好,有用,如果在main.js中导入mack/index使用就是本地的mock数据这样在控制台是无法在network中看到请求的,如果使用了vue.config.js的mock配置这个时候是可以在network中看到请求配置的。这两种方式都是请求本地mock地址的数据,mack/index中配置的是你的地址所获取的数据比如你请求的地址是/book/home那么获取的数据就是下面home中的数据。
Mock.mock(/\/book\/home/, 'get', home) ; // 这里的book/home是表示匹配的地址
关于第二个问题,book/detail也是一样的,你请求的地址是book/detai,数据请求的VUE_APP_BOOK_URL这个地址是老师提供的后端接口地址,上面没有请求到数据是因为缺少参数,你可以在api/store中查看传递的参数信息。如果你自己本地也启动了后端项目可以把VUE_APP_BOOK_URL地址修改为项目地址,这样访问的就是你后端的真实数据了。另外直接在nginx上创建datail.json文件在从本地通过地址获取,获取到的是整个文件内的信息,而不是像现在项目中这种的json数据。
022020-11-30
相似问题