123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 |
- const path = require('path')
- // 拼接路径
- function resolve (dir) {
- return path.join(__dirname, dir)
- }
- // 基础路径 注意发布之前要先修改这里
- let baseUrl = ''
- // let baseUrl = '/ses-enrol-v1/enrol/'
- // 演示项目自动构建使用
- if (process.env.VUE_APP_TRAVIS === 'TRUE') baseUrl = '/ses-enrol-v1/enrol/'
- module.exports = {
- baseUrl: baseUrl, // 根据你的实际情况更改这里
- lintOnSave: true,
- // 是否为生产环境构建生成 source map?
- productionSourceMap: true,
- parallel: require('os').cpus().length > 1,
- devServer: {
- publicPath: baseUrl, // 和 baseUrl 保持一致
- proxy:{
- // http://127.0.0.1:8091/
- '/ses-enrol-v1/':{
- target: 'http://127.0.0.1:8091/',
- changeOrigin: true,
- onProxyRes(proxyRes, req, res) {
- var cookies = proxyRes.headers['set-cookie']
- if (cookies == null || cookies.length == 0) {
- delete proxyRes.headers['set-cookie']
- return
- }
- for (var i = 0,n = cookies.length; i < n; i++) {
- if(cookies[i].match(/^JSESSIONID=[^;]+;[\s\S]*Path=\/[^;]+/)){
- cookies[i] = cookies[i].replace(/Path=\/[^;]+/,'Path=/');
- }
- }
- proxyRes.headers['set-cookie'] = cookies;
- }
- },
- '/enrol-upload/':{
- target: 'http://127.0.0.1:8091/',
- changeOrigin: true,
- onProxyRes(proxyRes, req, res) {
- var cookies = proxyRes.headers['set-cookie']
- if (cookies == null || cookies.length == 0) {
- delete proxyRes.headers['set-cookie']
- return
- }
- for (var i = 0,n = cookies.length; i < n; i++) {
- if(cookies[i].match(/^JSESSIONID=[^;]+;[\s\S]*Path=\/[^;]+/)){
- cookies[i] = cookies[i].replace(/Path=\/[^;]+/,'Path=/');
- }
- }
- proxyRes.headers['set-cookie'] = cookies;
- }
- },
- '/std/':{
- target: 'http://127.0.0.1:8091/ses-enrol-v1/',
- changeOrigin: true,
- onProxyRes(proxyRes, req, res) {
- var cookies = proxyRes.headers['set-cookie']
- if (cookies == null || cookies.length == 0) {
- delete proxyRes.headers['set-cookie']
- return
- }
- for (var i = 0,n = cookies.length; i < n; i++) {
- if(cookies[i].match(/^JSESSIONID=[^;]+;[\s\S]*Path=\/[^;]+/)){
- cookies[i] = cookies[i].replace(/Path=\/[^;]+/,'Path=/');
- }
- }
- proxyRes.headers['set-cookie'] = cookies;
- }
- },
- '/pl/':{
- target: 'http://127.0.0.1:8091/ses-enrol-v1/',
- changeOrigin: true,
- onProxyRes(proxyRes, req, res) {
- var cookies = proxyRes.headers['set-cookie']
- if (cookies == null || cookies.length == 0) {
- delete proxyRes.headers['set-cookie']
- return
- }
- for (var i = 0,n = cookies.length; i < n; i++) {
- if(cookies[i].match(/^JSESSIONID=[^;]+;[\s\S]*Path=\/[^;]+/)){
- cookies[i] = cookies[i].replace(/Path=\/[^;]+/,'Path=/');
- }
- }
- proxyRes.headers['set-cookie'] = cookies;
- }
- },
- '/pay/':{
- target: 'http://127.0.0.1:8091/ses-enrol-v1/',
- changeOrigin: true,
- onProxyRes(proxyRes, req, res) {
- var cookies = proxyRes.headers['set-cookie']
- if (cookies == null || cookies.length == 0) {
- delete proxyRes.headers['set-cookie']
- return
- }
- for (var i = 0,n = cookies.length; i < n; i++) {
- if(cookies[i].match(/^JSESSIONID=[^;]+;[\s\S]*Path=\/[^;]+/)){
- cookies[i] = cookies[i].replace(/Path=\/[^;]+/,'Path=/');
- }
- }
- proxyRes.headers['set-cookie'] = cookies;
- }
- },
- '/by/':{
- target: 'http://127.0.0.1:8091/ses-enrol-v1/',
- changeOrigin: true,
- onProxyRes(proxyRes, req, res) {
- var cookies = proxyRes.headers['set-cookie']
- if (cookies == null || cookies.length == 0) {
- delete proxyRes.headers['set-cookie']
- return
- }
- for (var i = 0,n = cookies.length; i < n; i++) {
- if(cookies[i].match(/^JSESSIONID=[^;]+;[\s\S]*Path=\/[^;]+/)){
- cookies[i] = cookies[i].replace(/Path=\/[^;]+/,'Path=/');
- }
- }
- proxyRes.headers['set-cookie'] = cookies;
- }
- },
- '/mk/':{
- target: 'http://127.0.0.1:8091/ses-enrol-v1/',
- changeOrigin: true,
- onProxyRes(proxyRes, req, res) {
- var cookies = proxyRes.headers['set-cookie']
- if (cookies == null || cookies.length == 0) {
- delete proxyRes.headers['set-cookie']
- return
- }
- for (var i = 0,n = cookies.length; i < n; i++) {
- if(cookies[i].match(/^JSESSIONID=[^;]+;[\s\S]*Path=\/[^;]+/)){
- cookies[i] = cookies[i].replace(/Path=\/[^;]+/,'Path=/');
- }
- }
- proxyRes.headers['set-cookie'] = cookies;
- }
- },
- '/kj/':{
- target: 'http://127.0.0.1:8091/ses-enrol-v1/',
- changeOrigin: true,
- onProxyRes(proxyRes, req, res) {
- var cookies = proxyRes.headers['set-cookie']
- if (cookies == null || cookies.length == 0) {
- delete proxyRes.headers['set-cookie']
- return
- }
- for (var i = 0,n = cookies.length; i < n; i++) {
- if(cookies[i].match(/^JSESSIONID=[^;]+;[\s\S]*Path=\/[^;]+/)){
- cookies[i] = cookies[i].replace(/Path=\/[^;]+/,'Path=/');
- }
- }
- proxyRes.headers['set-cookie'] = cookies;
- }
- },
- // '/sima/':{
- // target: 'http://ses.hmsoft.cn:83/ses-upload/',
- // changeOrigin: true,
- // onProxyRes(proxyRes, req, res) {
- // var cookies = proxyRes.headers['set-cookie']
- // if (cookies == null || cookies.length == 0) {
- // delete proxyRes.headers['set-cookie']
- // return
- // }
- // for (var i = 0,n = cookies.length; i < n; i++) {
- // if(cookies[i].match(/^JSESSIONID=[^;]+;[\s\S]*Path=\/[^;]+/)){
- // cookies[i] = cookies[i].replace(/Path=\/[^;]+/,'Path=/');
- // }
- // }
- // proxyRes.headers['set-cookie'] = cookies;
- // }
- // },
- }
- },
- // 默认设置: https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-service/lib/config/base.js
- chainWebpack: config => {
- // 解决 cli3 热更新失效 https://github.com/vuejs/vue-cli/issues/1559
- config.resolve
- .symlinks(true)
- // markdown
- config.module
- .rule('md')
- .test(/\.md$/)
- .use('text-loader')
- .loader('text-loader')
- .end()
- // i18n
- config.module
- .rule('i18n')
- .resourceQuery(/blockType=i18n/)
- .use('i18n')
- .loader('@kazupon/vue-i18n-loader')
- .end()
- // svg
- const svgRule = config.module.rule('svg')
- svgRule.uses.clear()
- svgRule
- .include
- .add(resolve('src/assets/svg-icons/icons'))
- .end()
- .use('svg-sprite-loader')
- .loader('svg-sprite-loader')
- .options({
- symbolId: 'd2-[name]'
- })
- .end()
- // image exclude
- const imagesRule = config.module.rule('images')
- imagesRule
- .test(/\.(png|jpe?g|gif|webp|svg)(\?.*)?$/)
- .exclude
- .add(resolve('src/assets/svg-icons/icons'))
- .end()
- // 重新设置 alias
- config.resolve.alias
- .set('@', resolve('src'))
- // babel-polyfill 加入 entry
- const entry = config.entry('app')
- entry
- .add('babel-polyfill')
- .end()
- }
- }
|