-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnuxt.config.js
91 lines (91 loc) · 2.7 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
const webpack = require('webpack')
export default {
// Target (https://go.nuxtjs.dev/config-target)
target: 'static',
// Global page headers (https://go.nuxtjs.dev/config-head)
server: {
port: 3003
},
head: {
title: 'zhzw-vuebase',
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'description', name: 'description', content: '' },
],
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
],
},
// Global CSS (https://go.nuxtjs.dev/config-css)
css: [
'element-ui/lib/theme-chalk/index.css',
'@/assets/css/global.scss',
'@assets/icons/iconfont.css'
],
// Plugins to run before rendering page (https://go.nuxtjs.dev/config-plugins)
plugins: [
'@/plugins/element-ui',
'@/plugins/echarts',
{src: '@/plugins/cookies', mode: 'client'},
{src: '@/plugins/lodash', mode: 'client'},
{src: '@/plugins/day', mode: 'client'},
{src: '@/plugins/axios', mode: 'client'},
{src: '@/plugins/mock', mode: 'client'},
{src: '@assets/icons/iconfont.js', mode: 'client'},
],
// Auto import components (https://go.nuxtjs.dev/config-components)
components: true,
// Modules for dev and build (recommended) (https://go.nuxtjs.dev/config-modules)
buildModules: [
],
// Modules (https://go.nuxtjs.dev/config-modules)
modules: ['@nuxtjs/style-resources', '@nuxtjs/axios', '@nuxtjs/proxy'],
styleResources: {
scss: [
'./assets/css/theme.scss', // 配置nuxt全局变量
]
},
axios: {
proxy: true
},
proxy: {
'/api': {
target: 'http://example.com',
pathRewrite: {
'^/api': '/'
}
}
},
// Build Configuration (https://go.nuxtjs.dev/config-build)
build: {
transpile: [/^element-ui/],
ssr: 'spa',
extend(config, ctx) {
// 执行eslint js代码校验
config.module.rules.push({
enforce: 'pre',
test: /\.(js|vue)$/,
loader: 'eslint-loader',
exclude: /(node_modules)/,
options: {
// 指定的eslint的配置文件在哪
configFile: './.eslintrc.js',
// 自动修复不符合约定的写法
fix: true
}
});
},
postcss: {
// 添加插件名称作为键,参数作为值
// 使用npm或yarn安装它们
plugins: {
// 'postcss-responsive-type': {}, // https://www.npmjs.com/package/postcss-responsive-type 用于实现流动字体大小
'postcss-hexrgba': {} // 它将RGB(a)值替换为十六进制的类似值
},
preset: {
// 更改 postcss-preset-env 设置 postcss-preset-env允许使用最新的css语法不用担心兼容性
}
}
},
};