vue-cil脚手架安装
1 | vue init webpack vue-music //初始化脚手架工具 |
基本目录结构
vue-music
- build
-config
-node_modules
-src
-api //放置与后端请求相关
-common // 公共字体文件 图片 css js
-components //组件目录
-router // 路由
-store // vuex
app.vue
main.js
-static
common解析
common
-fonts
-images
-js
-stylus
-base.stul // 定义html body 引入@import “variable.styl”
-icon.styl // 字体图标生成
-index.styl // 向外面暴露styl 1.reset 2.base 3.icon 没有引用mixin
-mixin.styl // 公共函数
-reset.styl // 复位
-variable.styl // 定义全局字体颜色
多会用到mixin多会引用
添加依赖
打开package文件
1 | // dependencies中添加 的依赖打包的时候会进行打包发布 |
在main.js中
import ‘babel-polyfill’
import fastclick from “fastclick”
fastclick.attach(document.body) // 阻止移动端300ms延迟
路由设置
1 | // 路由设置在router文夹下面 |
VUE 使用jsonp跨域请求封装
1 | import originJsonp from 'jsonp' |
封装好jsonp之后 在api目录下去使用jsonp请求数据
1.api文件夹新建recommend.js1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16import jsonp from '@/common/js/jsonp'
import {commonParams, options} from './config'
// import axios from 'axios'
// 获取推荐轮播图
export function getRecommend () {
const url = 'https://c.y.qq.com/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg'
const data = Object.assign({}, commonParams, {
platform: 'h5',
uin: 0,
needNewCode: 1
})
return jsonp(url, data, options)
}
ES6新语法 Object.assign方法用来合并对象
2.api文件夹新建config.js
作用:封装 一些全局变量1
2
3
4
5
6
7
8
9
10
11
12export const commonParams = {
g_tk: 1928093487,
inCharset: 'utf-8',
outCharset: 'utf-8',
notice: 0,
format: 'jsonp'
}
export const options = {
param: 'jsonpCallback'
}
export const ERR_OK = 0