|
@@ -9,7 +9,7 @@ import legacyPlugin from '@vitejs/plugin-legacy';
|
|
|
import { VitePWA } from 'vite-plugin-pwa';
|
|
|
// 引入等比适配插件
|
|
|
import px2rem from 'postcss-px2rem';
|
|
|
-
|
|
|
+import versionUpdatePlugin from './src/plugins/version';
|
|
|
// 配置基本大小
|
|
|
const postcss = px2rem({
|
|
|
// 基准大小 baseSize,需要和rem.js中相同
|
|
@@ -25,131 +25,141 @@ function resolve(dir: string) {
|
|
|
// https://github.com/vitejs/vite/issues/1930 .env
|
|
|
// const proxyUrl = 'https://dev.kt.colexiu.com/';
|
|
|
const proxyUrl = 'https://test.lexiaoya.cn';
|
|
|
-export default defineConfig({
|
|
|
- base: './',
|
|
|
- plugins: [
|
|
|
- vue(),
|
|
|
- vueJsx(),
|
|
|
- // viteESLint(),
|
|
|
- Components({
|
|
|
- dts: true,
|
|
|
- resolvers: [NaiveUiResolver()]
|
|
|
- }),
|
|
|
- legacyPlugin({
|
|
|
- targets: ['defaults', 'not IE 11'],
|
|
|
- additionalLegacyPolyfills: ['regenerator-runtime/runtime'],
|
|
|
- renderLegacyChunks: true,
|
|
|
- polyfills: [
|
|
|
- 'es.symbol',
|
|
|
- 'es.promise',
|
|
|
- 'es.promise.finally',
|
|
|
- 'es/map',
|
|
|
- 'es/set',
|
|
|
- 'es.array.filter',
|
|
|
- 'es.array.for-each',
|
|
|
- 'es.array.flat-map',
|
|
|
- 'es.object.define-properties',
|
|
|
- 'es.object.define-property',
|
|
|
- 'es.object.get-own-property-descriptor',
|
|
|
- 'es.object.get-own-property-descriptors',
|
|
|
- 'es.object.keys',
|
|
|
- 'es.object.to-string',
|
|
|
- 'web.dom-collections.for-each',
|
|
|
- 'esnext.global-this',
|
|
|
- 'esnext.string.match-all'
|
|
|
- ]
|
|
|
- }),
|
|
|
- VitePWA({
|
|
|
- registerType: 'autoUpdate',
|
|
|
- includeAssets: ['./logo.png'],
|
|
|
- workbox: {
|
|
|
- skipWaiting: true
|
|
|
- // runtimeCaching: [
|
|
|
- // {
|
|
|
- // urlPattern: /(.*?)\.(js|css|ts|tsx|html)/, // js /css /ts静态资源缓存
|
|
|
- // handler: 'NetworkOnly',
|
|
|
- // options: {
|
|
|
- // cacheName: 'js-css-cache'
|
|
|
- // }
|
|
|
- // },
|
|
|
- // {
|
|
|
- // urlPattern: /.*\.html.*/,
|
|
|
- // handler: 'NetworkOnly',
|
|
|
- // options: {
|
|
|
- // cacheName: 'wisbayar-html',
|
|
|
- // expiration: {
|
|
|
- // maxEntries: 20,
|
|
|
- // maxAgeSeconds: 30 * 24 * 60 * 60
|
|
|
- // },
|
|
|
- // cacheableResponse: {
|
|
|
- // statuses: [200]
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
- // ]
|
|
|
- },
|
|
|
- manifest: {
|
|
|
- name: '酷乐秀-音乐数字课堂',
|
|
|
- short_name: '音乐数字课堂',
|
|
|
- theme_color: '#E8EAED',
|
|
|
- display: 'fullscreen',
|
|
|
- icons: [
|
|
|
- {
|
|
|
- src: './logo.png',
|
|
|
- sizes: '192x192',
|
|
|
- type: 'image/png'
|
|
|
- },
|
|
|
- {
|
|
|
- src: './logo.png',
|
|
|
- sizes: '512x512',
|
|
|
- type: 'image/png'
|
|
|
- },
|
|
|
- {
|
|
|
- src: './logo.png',
|
|
|
- sizes: '512x512',
|
|
|
- type: 'image/png',
|
|
|
- purpose: 'any maskable'
|
|
|
- }
|
|
|
- ],
|
|
|
- prefer_related_applications: false,
|
|
|
- related_applications: [
|
|
|
- {
|
|
|
- platform: 'webapp',
|
|
|
- id: '1.0.0',
|
|
|
- url: './manifest.webmanifest'
|
|
|
- }
|
|
|
+const now = new Date().getTime();
|
|
|
+localStorage.setItem('versionPage', now + '');
|
|
|
+export default defineConfig(() => {
|
|
|
+ return {
|
|
|
+ base: './',
|
|
|
+ plugins: [
|
|
|
+ vue(),
|
|
|
+ vueJsx(),
|
|
|
+ // viteESLint(),
|
|
|
+ Components({
|
|
|
+ dts: true,
|
|
|
+ resolvers: [NaiveUiResolver()]
|
|
|
+ }),
|
|
|
+ legacyPlugin({
|
|
|
+ targets: ['defaults', 'not IE 11'],
|
|
|
+ additionalLegacyPolyfills: ['regenerator-runtime/runtime'],
|
|
|
+ renderLegacyChunks: true,
|
|
|
+ polyfills: [
|
|
|
+ 'es.symbol',
|
|
|
+ 'es.promise',
|
|
|
+ 'es.promise.finally',
|
|
|
+ 'es/map',
|
|
|
+ 'es/set',
|
|
|
+ 'es.array.filter',
|
|
|
+ 'es.array.for-each',
|
|
|
+ 'es.array.flat-map',
|
|
|
+ 'es.object.define-properties',
|
|
|
+ 'es.object.define-property',
|
|
|
+ 'es.object.get-own-property-descriptor',
|
|
|
+ 'es.object.get-own-property-descriptors',
|
|
|
+ 'es.object.keys',
|
|
|
+ 'es.object.to-string',
|
|
|
+ 'web.dom-collections.for-each',
|
|
|
+ 'esnext.global-this',
|
|
|
+ 'esnext.string.match-all'
|
|
|
]
|
|
|
- },
|
|
|
+ }),
|
|
|
+ VitePWA({
|
|
|
+ registerType: 'autoUpdate',
|
|
|
+ includeAssets: ['./logo.png'],
|
|
|
+ workbox: {
|
|
|
+ skipWaiting: true
|
|
|
+ // runtimeCaching: [
|
|
|
+ // {
|
|
|
+ // urlPattern: /(.*?)\.(js|css|ts|tsx|html)/, // js /css /ts静态资源缓存
|
|
|
+ // handler: 'NetworkOnly',
|
|
|
+ // options: {
|
|
|
+ // cacheName: 'js-css-cache'
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // urlPattern: /.*\.html.*/,
|
|
|
+ // handler: 'NetworkOnly',
|
|
|
+ // options: {
|
|
|
+ // cacheName: 'wisbayar-html',
|
|
|
+ // expiration: {
|
|
|
+ // maxEntries: 20,
|
|
|
+ // maxAgeSeconds: 30 * 24 * 60 * 60
|
|
|
+ // },
|
|
|
+ // cacheableResponse: {
|
|
|
+ // statuses: [200]
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // ]
|
|
|
+ },
|
|
|
+ manifest: {
|
|
|
+ name: '酷乐秀-音乐数字课堂',
|
|
|
+ short_name: '音乐数字课堂',
|
|
|
+ theme_color: '#E8EAED',
|
|
|
+ display: 'fullscreen',
|
|
|
+ icons: [
|
|
|
+ {
|
|
|
+ src: './logo.png',
|
|
|
+ sizes: '192x192',
|
|
|
+ type: 'image/png'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ src: './logo.png',
|
|
|
+ sizes: '512x512',
|
|
|
+ type: 'image/png'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ src: './logo.png',
|
|
|
+ sizes: '512x512',
|
|
|
+ type: 'image/png',
|
|
|
+ purpose: 'any maskable'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ prefer_related_applications: false,
|
|
|
+ related_applications: [
|
|
|
+ {
|
|
|
+ platform: 'webapp',
|
|
|
+ id: '1.0.0',
|
|
|
+ url: './manifest.webmanifest'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
|
|
|
- devOptions: {
|
|
|
- enabled: true
|
|
|
+ devOptions: {
|
|
|
+ enabled: true
|
|
|
+ }
|
|
|
+ }),
|
|
|
+ versionUpdatePlugin({
|
|
|
+ version: now
|
|
|
+ })
|
|
|
+ ],
|
|
|
+ define: {
|
|
|
+ // 定义全局变量
|
|
|
+ __APP_VERSION__: now
|
|
|
+ },
|
|
|
+ build: {
|
|
|
+ target: 'es2015'
|
|
|
+ },
|
|
|
+ resolve: {
|
|
|
+ alias: {
|
|
|
+ '@': resolve('./src'),
|
|
|
+ '@common': resolve('./src/common'),
|
|
|
+ '@components': resolve('./src/components'),
|
|
|
+ '@store': resolve('./src/store'),
|
|
|
+ '@views': resolve('./src/views')
|
|
|
}
|
|
|
- })
|
|
|
- ],
|
|
|
-
|
|
|
- build: {
|
|
|
- target: 'es2015'
|
|
|
- },
|
|
|
- resolve: {
|
|
|
- alias: {
|
|
|
- '@': resolve('./src'),
|
|
|
- '@common': resolve('./src/common'),
|
|
|
- '@components': resolve('./src/components'),
|
|
|
- '@store': resolve('./src/store'),
|
|
|
- '@views': resolve('./src/views')
|
|
|
- }
|
|
|
- },
|
|
|
- server: {
|
|
|
- host: '0.0.0.0',
|
|
|
- port: 5002,
|
|
|
- strictPort: true,
|
|
|
- cors: true,
|
|
|
- https: false,
|
|
|
- proxy: {
|
|
|
- '/edu-app': {
|
|
|
- target: proxyUrl,
|
|
|
- changeOrigin: true
|
|
|
+ },
|
|
|
+ server: {
|
|
|
+ host: '0.0.0.0',
|
|
|
+ port: 5002,
|
|
|
+ strictPort: true,
|
|
|
+ cors: true,
|
|
|
+ https: false,
|
|
|
+ proxy: {
|
|
|
+ '/edu-app': {
|
|
|
+ target: proxyUrl,
|
|
|
+ changeOrigin: true
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+ };
|
|
|
});
|