-
Notifications
You must be signed in to change notification settings - Fork 0
/
nuxt.config.js
108 lines (97 loc) · 2.89 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
//https://nuxtjs.org/api/configuration-build/
const pkg = require('./package')
module.exports = {
mode: 'universal',
debug: true,
/*
** Headers of the page
*/
head: {
title: pkg.name,
titleTemplate: `%s - ${pkg.name}`,
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'description', name: 'description', content: pkg.description }
],
link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }]
},
/*
** Customize the progress-bar color
*/
loading: { color: 'red' },
/*
** Global CSS
*/
css: [],
/*
** Plugins to load before mounting the App
*/
plugins: [],
/*
** Nuxt.js modules
*/
modules: [
// Doc: https://github.com/nuxt-community/axios-module#usage
'@nuxtjs/axios',
// Doc: https://bootstrap-vue.js.org/docs/
'bootstrap-vue/nuxt'
],
/*
** Axios module configuration
*/
axios: {
// See https://github.com/nuxt-community/axios-module#options
},
/*
** Build configuration
*/
build: {
//extractCSS: true,
/*
** You can extend webpack config here
*/
extend(config, ctx) {
// return;//temporary disable list
// Run ESLint on save
if (ctx.isDev && ctx.isClient) {
config.module.rules.push({
enforce: 'pre',
test: /\.(js|vue)$/,
loader: 'eslint-loader',
exclude: /(node_modules)/,
options: {
fix: true
}
})
}
let vueLoader = config.module.rules.find(
rule => rule.loader == 'vue-loader'
)
//or use {build: veu:{transformAssetUrls:{..}} }
if (vueLoader)
//transform attributes (ex:src) into require(..)
vueLoader.options.transformAssetUrls = {
//https://vue-loader.vuejs.org/options.html#transformasseturls (transformToRequire renamed to transformAssetUrls: https://vue-loader.vuejs.org/migrating.html#options-deprecation)
img: ['src', 'data-src'],
image: 'xlink:href',
link: 'href', // this will resolve to <link href="[object Object]" />;
video: ['src', 'poster'],
source: 'src',
object: 'src',
embed: 'src',
'b-img': 'src',
'b-img-lazy': ['src', 'blank-src'],
'b-card': 'img-src',
'b-card-img': 'img-src',
'b-carousel-slide': 'img-src',
'b-embed': 'src'
}
//nx: *:src, *:href
config.node = {
fs: 'empty' //to solve: "import fs from 'fs'" when import or require 'fs' in any .vue file https://github.com/nuxt-community/dotenv-module/issues/11#issuecomment-376780588
}
}
// extractCSS: { allChunks: true } //https://github.com/nuxt/nuxt.js/issues/1533#issuecomment-419369363; replaced with: optimization.splitChunks https://webpack.js.org/configuration/optimization/#optimization-splitchunks
}
}