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, }, }, }, };