-
Notifications
You must be signed in to change notification settings - Fork 18
/
nuxt.config.js
112 lines (105 loc) · 4.08 KB
/
nuxt.config.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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
// eslint-disable-next-line nuxt/no-cjs-in-config
const axios = require('axios');
// eslint-disable-next-line nuxt/no-cjs-in-config
const webpack = require('webpack')
export default {
// Global page headers: https://go.nuxtjs.dev/config-head
head: {
title: 'GISphere | GIS 留学指南',
htmlAttrs: {
lang: 'en'
},
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'description', name: 'description', content: 'GISphere 是一个公益项目,由一批在全球不同院校从事地理信息及相关领域科研工作的中国青年学生学者于2019年9月提供一个分享世界各地GIS相关研究生项目、导师和学术前沿信息的在线平台,促进不同国家/地区的GIS相关院校与学生之间的交流、教育与发生的纠纷是合作,共同推动GIS学科和相关产业的发展。目前,旗下子项目包括:GIS-Info 网站 全面介绍海外 GIS 相关院校、专业及老师信息;GISphere 公众号 分享海外院校GIS相关专业学生的申请经验及就读体验;GISource 环球资讯速递 实时发布最新海外院校GIS相关硕士、博士等招生信息;GISpace 社区讨论群 为GIS相关专业的海外学者和学生提供交流平台;GISalon 圆桌讨论 和学长学姐“零距离”聊聊留学和职业发展那些事儿' },
{ hid: 'keywords', name: 'keywords', content: 'GIS, 留学, GISphere' },
{ name: 'format-detection', content: 'telephone=no' }
],
link: [{ rel: 'icon', type: 'image/png', href: '/favicon-16x16.png' }],
bodyAttrs: {
style: 'margin: 0'
}
},
// Global CSS: https://go.nuxtjs.dev/config-css
// element UI DIY theme: import "../theme/index.css"
css: [
'element-ui/lib/theme-chalk/index.css',
'quill/dist/quill.snow.css',
'quill/dist/quill.bubble.css',
'quill/dist/quill.core.css'
],
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
plugins: [
'@/plugins/element-ui',
{
src: '~plugins/vue-quill-editor.js',
ssr: false // 富文本组件仅在客户端渲染
}
],
// Auto import components: https://go.nuxtjs.dev/config-components
components: true,
// Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
buildModules: [
// https://go.nuxtjs.dev/eslint
'@nuxtjs/eslint-module'
],
// Modules: https://go.nuxtjs.dev/config-modules
modules: [
// https://go.nuxtjs.dev/axios
'@nuxtjs/axios',
'@nuxtjs/proxy',
'@nuxtjs/sitemap',
],
// Axios module configuration: https://go.nuxtjs.dev/config-axios
axios: {
// Workaround to avoid enforcing hard-coded localhost:3000: https://github.com/nuxt-community/axios-module/issues/308
baseURL: 'https://gisphere.info',
proxy: true, // 表示开启代理
credentials: true // 表示跨域请求时是否需要使用凭证
},
// 开发环境配置跨域
proxy: {
"/api/":{
target:'https://gisphere.info', // 代理指向线上
// target:'http://127.0.0.1:8000/', // 代理指向本地
changeOrigin: true,
}
},
// Build Configuration: https://go.nuxtjs.dev/config-build
build: {
transpile: [/^element-ui/],
plugins: [
new webpack.ProvidePlugin({
'window.Quill': 'quill/dist/quill.js',
'Quill': 'quill/dist/quill.js'
})
]
},
sitemap: {
path: '/sitemap.xml',
hostname: 'https://gisphere.info/',
exclude: ['**'],
cacheTime: 1000 * 60 * 60, // 更新频率
routes: async () => {
const urls = [
'',
'/postList',
'/aboutUs',
'/school',
'/school/zh',
'/white-book',
'/feedback'
];
// 帖子页面的路由
const res = await axios.get('https://gisphere.info/api/post?pageSize=99999&pageIndex=1')
res?.data?.data?.forEach((d)=>{
urls.push(`/post/${d.event_id}`);
urls.push(`/mobile/post/${d.event_id}`);
urls.push(`/post/${d.event_id}?lang=zh`);
urls.push(`/mobile/post/${d.event_id}?lang=zh`);
})
return urls;
}
}
}