123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 |
- module.exports = {
- publicPath: process.env.NODE_ENV === 'production' ? '/mobile/' : '/',
- outputDir: 'dist',
- devServer: {
- proxy: {
- '/mobile/api': {
- target: 'http://localhost:9099/',
- changeOrigin: true,
- logLevel: 'info',
- },
- },
- },
- pwa: {
- manifestOptions: {
- name: 'SGC Mobile',
- short_name: 'SGC Mobile',
- start_url: './',
- display: 'standalone',
- background_color: '#ed1c24',
- theme_color : '#ed1c24',
- version : (new Date()).toLocaleDateString('ko-KR').replace(/ /gi,'').replace(/\.$/gi,''),
- icons: [
- {
- sizes: '20x20',
- src: './img/icons/android-chrome-20x20.png',
- type: 'image/png',
- purpose: 'any',
- },
- {
- sizes: '29x29',
- src: './img/icons/android-chrome-29x29.png',
- type: 'image/png',
- purpose: 'any',
- },
- {
- sizes: '40x40',
- src: './img/icons/android-chrome-40x40.png',
- type: 'image/png',
- purpose: 'any',
- },
- {
- sizes: '76x76',
- src: './img/icons/android-chrome-76x76.png',
- type: 'image/png',
- purpose: 'any',
- },
- {
- sizes: '144x144',
- src: './img/icons/android-chrome-144x144.png',
- type: 'image/png',
- purpose: 'any',
- },
- {
- sizes: '167x167',
- src: './img/icons/android-chrome-167x167.png',
- type: 'image/png',
- purpose: 'any',
- },
- {
- sizes: '192x192',
- src: './img/icons/android-chrome-192x192.png',
- type: 'image/png',
- purpose: 'any',
- },
- {
- sizes: '512x512',
- src: './img/icons/android-chrome-512x512.png',
- type: 'image/png',
- purpose: 'any',
- },
- {
- sizes: '192x192',
- src: './img/icons/android-chrome-maskable-192x192.png',
- purpose: 'maskable',
- type: 'image/png',
- },
- {
- sizes: '512x512',
- src: './img/icons/android-chrome-maskable-512x512.png',
- purpose: 'maskable',
- type: 'image/png',
- },
- ],
- protocol_handlers : [
- {
- "protocol": "web+defting",
- "url": "/mobile/#/as/defting/%s"
- },
- {
- "protocol": "web+deftdone",
- "url": "/mobile/#/as/deftdone/%s"
- },
- {
- "protocol": "web+deftmang",
- "url": "/mobile/#/po/deftmang/%s"
- },
- {
- "protocol": "web+deftque",
- "url": "/mobile/#/po/deftque/%s"
- }
- ],
- shortcuts: [
- {
- name: 'Home',
- description: 'Home Page',
- url: '/#home',
- icons: [
- {
- sizes: '96x96',
- src: './img/icons/menu-home-96x96.png',
- type: 'image/png',
- },
- ],
- },
- {
- name: '하자처리',
- description: '하자처리',
- url: '/#/as/defting',
- icons: [
- {
- sizes: '96x96',
- src: './img/icons/menu-defting-96x96.png',
- type: 'image/png',
- },
- ],
- },
- {
- name: '하자완료조회',
- description: '하자완료조회',
- url: '/#/as/deftdone',
- icons: [
- {
- sizes: '96x96',
- src: './img/icons/menu-deftdone-96x96.png',
- type: 'image/png',
- },
- ],
- },
- {
- name: '하자작업지시',
- description: '하자작업지시',
- url: '/#/po/deftmang',
- icons: [
- {
- sizes: '96x96',
- src: './img/icons/menu-deftmang-96x96.png',
- type: 'image/png',
- },
- ],
- },
- {
- name: '하자조회및완료처리',
- description: '하자조회및완료처리',
- url: '/#/po/deftque',
- icons: [
- {
- sizes: '96x96',
- src: './img/icons/menu-deftque-96x96.png',
- type: 'image/png',
- },
- ],
- },
- {
- name: '회의실예약',
- description: '회의실예약',
- url: '/#/po/roomrev',
- icons: [
- {
- sizes: '96x96',
- src: './img/icons/menu-roomrev-96x96.png',
- type: 'image/png',
- },
- ],
- },
- {
- name: '회의실예약승인',
- description: '회의실예약승인',
- url: '/#/po/roomapp',
- icons: [
- {
- sizes: '96x96',
- src: './img/icons/menu-roomapp-96x96.png',
- type: 'image/png',
- },
- ],
- },
- ],
- orientation: 'portrait',
- },
- themeColor : '#364855',
- // msapplicationTileColor: '#000000',
- appleMobileWebAppTitle: 'SGC Mobile',
- appleMobileWebAppCapable: 'yes',
- appleMobileWebAppStatusBarStyle: 'black-translucent',
- iconPaths: {
- maskicon: null,
- favicon32: './img/icons/favicon-32x32.png',
- favicon16: './img/icons/favicon-16x16.png',
- appleTouchIcon: './img/icons/android-chrome-180x180.png',
- msTileImage: null,
- },
- // configure the workbox plugin
- workboxPluginMode: 'GenerateSW',
- },
- configureWebpack: {
- performance: {
- hints: false,
- },
- optimization: {
- splitChunks: {
- minSize: 10000,
- maxSize: 550000,
- },
- },
- },
- };
|