一些需要记住的注意事项

博客相关

  1. markdown指令之后要空一格!要不然解释器可能不会识别。
  2. 经过两天的巨大努力自动获取博文详细信息API和本地上传博文的功能已经做好了。现在只要打开本地webstorm项目,hexo deploy -g即可。

Vue相关

这部分麻烦事特别多

1.vue class-style component用法:

首先,在每一个类上头,除了imoort Vue之外,如果使用了@Component标记,就还一定要import Component才可以!

1
2
3
4
5
6
7
8
import Vue from "vue";
import Component from "vue-class-component"
@Component({ //不知道的该写下面的东西,都写这就完事了
props: {
url: String,
//......
}
})

一定注意class prop的写法和普通的 不一样了,不需要在属性名前面加引号

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
export default class App extends Vue {
blogs = null; //data成员直接作为类的成员定义
//method直接作为成员函数定义
async requestBlogList(){
//...
}
//...其他method定义
mounted(){
//mounted等专有的函数式属性,也都写为类的成员
}
//如果想定义computed属性:定义为getter
get qwq{
//...
}
//watch我现在也没太搞清往哪写,等我搞明白了补上
}

2.Bootstrap-Vue用法:

npm install --save bootstrap-vue,再

1
2
3
4
import BootstrapVue from 'bootstrap-vue'
import 'bootstrap/dist/css/bootstrap.css'
import 'bootstrap-vue/dist/bootstrap-vue.css'
Vue.use(BootstrapVue)

比较坑的是不支持自动补全,这个真的特别烦。

3.Vue-Resource用法:

npm install --save vue-resource,再

1
2
import VueResource from 'vue-resource'
Vue.use(VueResource)

使用方法:
Vue.$http.post(url, requestObject/*会自动转json的*/)
和异步请求连在一起写就是:

1
2
3
4
5
6
7
8
async function reqSomething(){
try{
let responseJson = await (await Vue.$http.post(url, requestObject)).json()
//处理
}catch(e){
console.log(e)
}
}

4.Vue项目的部署:

新建vue.config.js

1
2
3
module.exports = {
"publicPath": /dmpj/
}

其中/dmpj/是二级目录名,如果部署根目录不写这个属性或者是写成/就完事了。

5.绑定事件时候事件参数:

<Component v-on:click="clickEventHandler($event)"></Component>
传入事件参数一定要给$event,省略$符号是不行的。

6.善用watch机制、事件emit和on机制、ref机制来实现父子组件之间更复杂的消息互通!(待好好研究之后补充具体内容)

服务器配置相关

apache的安装和配置:
https://blog.csdn.net/qduningning/article/details/38273843
https://cyzgbw.iteye.com/blog/1828770