代码拉取完成,页面将自动刷新
同步操作将从 RYMCU/nebula 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import appConfig from './config/app.config'
import apiConfig from './config/api.config'
import {isDevMode} from './environment'
const LodashModuleReplacementPlugin = require('lodash-webpack-plugin')
export default {
/*
** Nuxt rendering mode
** See https://nuxtjs.org/api/configuration-mode
*/
ssr: true,
/*
** Render configuration
*/
render: {
csp: false
},
modern: true,
dev: isDevMode,
env: {
BASE: apiConfig.BASE,
HOST_URL: apiConfig.SOCKET
},
cache: {
max: 100,
maxAge: 1000 * 60 * 15
},
/*
** Headers of the page
** See https://nuxtjs.org/api/configuration-head
*/
head: {
title: appConfig.meta.title,
meta: [
{charset: 'utf-8'},
{name: 'viewport', content: 'width=device-width, initial-scale=1'},
{hid: 'keywords', name: 'keywords', content: appConfig.meta.keywords},
{hid: 'description', name: 'description', content: appConfig.meta.description}
],
link: [
{rel: 'icon', type: 'image/x-icon', href: '/favicon.ico'}
]
},
/*
** Global CSS
*/
css: [
'element-ui/lib/theme-chalk/index.css',
],
/*
** Plugins to load before mounting the App
** https://nuxtjs.org/guide/plugins
*/
plugins: [
{src: '~/plugins/avataaars/generator/generateAvatar'},
{src: '~/plugins/extend'},
{src: '~/plugins/axios'},
{src: '~/plugins/element-ui'},
{src: '~/plugins/vditor', ssr: false},
{src: '~/plugins/vue-sse'}
// {src: '~/plugins/vue-cropper', ssr: false}
],
/*
** Nuxt.js dev-modules
*/
buildModules: [],
/*
** Nuxt.js modules
*/
modules: [
'@nuxtjs/axios',
'@nuxtjs/proxy',
'@nuxtjs/auth-next'
],
auth: {
redirect: {
login: '/login',
logout: false,
home: '/'
},
strategies: {
local: {
// scope: true,
scheme: 'refresh',
token: {
property: 'token',
global: true,
maxAge: 60 * 15,
// required: true,
type: false
},
refreshToken: {
property: 'refreshToken',
data: 'refreshToken',
maxAge: 60 * 60 * 2
},
user: {
property: 'user',
autoFetch: false
},
endpoints: {
login: {url: '/api/auth/login', method: 'post'},
logout: {url: '/api/auth/logout', method: 'post'},
refresh: {url: '/api/auth/refresh-token', method: 'post'},
user: {url: '/api/auth/user', method: 'get'}
},
autoLogout: false
}
},
plugins: [{src: '~/plugins/axios', ssr: true}]
},
axios: {
proxy: true // 开启proxy
},
proxy: [ //proxy配置
['/api', {
target: apiConfig.BASE, //api请求路径
pathRewrite: {'^/api': isDevMode ? '/api/v1' : '/api'} //重定向请求路径,防止路由、api路径的冲突
}],
['/ws', {
target: apiConfig.BASE //api请求路径
}]
],
/*
** Build configuration
** See https://nuxtjs.org/api/configuration-build/
*/
build: {
transpile: [/^element-ui/,'defu'],
optimization: {
splitChunks: {
minSize: 10000,
maxSize: 250000
}
},
extend(config, ctx) {
config.plugins.unshift(new LodashModuleReplacementPlugin())
// rules[2].use[0] is babel-loader
config.module.rules.push({test: /\.txt$/, use: 'raw-loader'})
config.module.rules[2].use[0].options.plugins = ['lodash']
},
babel: {
presets({envName}) {
return [
[
'@nuxt/babel-preset-app',
{
loose: true
}
]
]
}
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。