2月8号答疑问题收集


(新望) #1

大家不会的问题回复到本帖下
代码题写入 jsbin
新望老师晚上集中回答


(cinyearchan) #2

1 在vue组件里,可以判断生产环境和开发环境么,如果可以,怎么判断? 在webpack其他地方是这样判断的

  process.env.NODE_ENV

我在组件里打印出来的是 null
2 项目中网络请求部分的封装
我把 所有请求的链接和请求方式封装js

  // api.js
  export const api = {
      login: {
        url: 'xxx',
        method: 'post'
      }
  }

通用的请求方法封装成ahttp.js

  // ahttp.js
  import axios from 'axios'
 
  // 请求拦截、请求响应的预处理方法
  some code
 
  // 配置config 和 data
  let option = {
    method: xxx,
    url: xxx,
    headers: xxx,
    data: xxxx
 }

  let promise = new Promise((resolve, reject) => {
    axios(option).then(res=>{
      // 预处理方法
      successFn(res)
      resolve(res)
    }).catch(response => {
      failFn(response)
      reject(response)
    })
  })
 
 最后 return promise

大致的封装就是这样,但具体的每次请求还是很零碎,
每个页面都要涉及到请求,都会单独请求一次,
能不能更加模块化,统一管理所有请求,这样也可以避免多次重复请求
参考文章


(新望) #3

http://array_huang.coding.me/webpack-book/chapter2/webpack-dev-production-environment.html


(新望) #4

提个问题
写一个函数,返回从min都max之间的 随机整数,包括min包括max
为什么 Math.ceil 不复合要求?

function random(min,max){
	return min+Math.ceil(Math.random()*(max-min))

}