Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

Gray-Ice

个人博客兼个人网站

可能这个问题对于前端的朋友们来说很简单,但是对于我这个半吊子前端来说着实有点难度,所以我就记录下来了。
我有一个名为dev_helper.js的文件,里面定义了一个函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import axios from 'axios'
export function CheckToken()
{
var token = localStorage.getItem('token')
if(token === '' || !token)
{
return -1;
}
else
{
var form = new FormData();
form.append('token', token);
axios({
method: "POST",
url: 'http://localhost:7788/check_token',
data: form
}).then(res=>{
if(res.data.code === 200)
{
localStorage.setItem("token", res.data.token);
return 1;
}
else
{
return 0;
}
})
}
}

这是一个用LocalStorage进行token校验的函数,不过我们的重点是vue组件导入该函数,所以我们只需要记住在函数前加个export就行了。
然后这是vue组件中的导入代码:

1
import {CheckToken} from "@/dev_helper"

因为我的js文件与vueProject/src/components同级,所以路径用的是@/dev_help。
这样就可以直接在.vue文件中使用CheckToken函数了。

还有一种方法,其实和上面的那一个方法差不多,不过这个有点类似C++中的namespace了。这是js文件中的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import axios from 'axios'
function CheckToken()
{
var token = localStorage.getItem('token')
if(token === '' || !token)
{
return -1;
}
else
{
var form = new FormData();
form.append('token', token);
axios({
method: "POST",
url: 'http://localhost:7788/check_token',
data: form
}).then(res=>{
if(res.data.code === 200)
{
localStorage.setItem("token", res.data.token);
return 1;
}
else
{
return 0;
}
})
}
}

export const Henv =
{
CheckToken
}

其中重点在最后4行,export const Henv相当于创建了一个叫做Henv的命名空间(不知道这个比喻恰不恰当),导入的时候只需要导入这个命名空间(即Henv),然后调用的时候直接Henv.functionName()即可。需要注意的是,export后面的const是必须要加的。
这是vue组件中的代码:

1
2
3
4
5
// 导入
import {Henv} from "@/dev_helper"

// 调用
Henv.CheckToken();

就是这样。
本篇完。

评论



愿火焰指引你