diff --git a/config/index.ts b/config/index.ts index 3eb418b..267a4ac 100644 --- a/config/index.ts +++ b/config/index.ts @@ -3,6 +3,8 @@ import TsconfigPathsPlugin from 'tsconfig-paths-webpack-plugin' import devConfig from './dev' import prodConfig from './prod' import vitePluginImp from 'vite-plugin-imp' +import path from 'path' + // https://taro-docs.jd.com/docs/next/config#defineconfig-辅助函数 export default defineConfig<'webpack5'>(async (merge, { command, mode }) => { const baseConfig: UserConfigExport<'webpack5'> = { @@ -20,6 +22,16 @@ export default defineConfig<'webpack5'>(async (merge, { command, mode }) => { plugins: ['@tarojs/plugin-html'], defineConstants: { }, + alias: { + '@': path.resolve(__dirname, '..', 'src'), + '@/assets': path.resolve(__dirname, '..', 'src/assets'), + '@/components': path.resolve(__dirname, '..', 'src/components'), + '@/utils': path.resolve(__dirname, '..', 'src/utils'), + '@/services': path.resolve(__dirname, '..', 'src/services'), + '@/store': path.resolve(__dirname, '..', 'src/store'), + '@/config': path.resolve(__dirname, '..', 'src/config'), + '@/static': path.resolve(__dirname, '..', 'src/static'), + }, copy: { patterns: [ ], @@ -29,7 +41,7 @@ export default defineConfig<'webpack5'>(async (merge, { command, mode }) => { framework: 'react', compiler: { - type: 'webpack5', + type: 'webpack5', prebundle: { enable: false } diff --git a/src/config/images.js b/src/config/images.js new file mode 100644 index 0000000..ab20192 --- /dev/null +++ b/src/config/images.js @@ -0,0 +1,11 @@ +export default { + ICON_REMOVE: require('@/static/publishBall/icon-remove.svg'), + ICON_UPLOAD: require('@/static/publishBall/icon-upload.svg'), + ICON_LOCATION: require('@/static/publishBall/icon-location.svg'), + ICON_GAMEPLAY: require('@/static/publishBall/icon-gameplay.svg'), + ICON_PERSONAL: require('@/static/publishBall/icon-personal.svg'), + ICON_CHANGDA: require('@/static/publishBall/icon-changda.svg'), + ICON_COST: require('@/static/publishBall/icon-cost.svg'), + ICON_TIPS: require('@/static/publishBall/icon-tips.svg'), + ICON_ARROW_RIGHT: require('@/static/publishBall/icon-arrow-right.svg'), + } \ No newline at end of file diff --git a/src/scss/images.scss b/src/scss/images.scss new file mode 100644 index 0000000..32d40b4 --- /dev/null +++ b/src/scss/images.scss @@ -0,0 +1,30 @@ +// src/scss/images.scss +// 暴露公共API (可选) +@forward 'sass:map'; +@forward 'sass:meta'; +@use 'sass:map'; + +// 使用私有变量命名 (前缀加 -) +$-static-path: '~@/static/' !default; + +// 图片映射表 +$-images: ( + 'icon-upload': '/publishBall/icon-upload.svg', + 'icon-add': '/publishBall/icon-add.svg', + 'icon-location': '/publishBall/icon-location.svg', + 'icon-gameplay': '/publishBall/icon-gameplay.svg', + 'icon-personal': '/publishBall/icon-personal.svg', + 'icon-changda': '/publishBall/icon-changda.svg', + 'icon-cost': '/publishBall/icon-cost.svg', + 'icon-remove': '/publishBall/icon-remove.svg' +) !default; + +// 图片获取函数 +@function taro-image($name) { + @if not map.has-key($-images, $name) { + @warn "Image `#{$name}` not found in $images map"; + @return url($-static-path + 'default.png'); + } + @return url($-static-path + map.get($-images, $name)); +} + diff --git a/src/static/publishBall/icon-add.svg b/src/static/publishBall/icon-add.svg new file mode 100644 index 0000000..5ef824e --- /dev/null +++ b/src/static/publishBall/icon-add.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/static/publishBall/icon-arrow-right.svg b/src/static/publishBall/icon-arrow-right.svg new file mode 100644 index 0000000..a490b6d --- /dev/null +++ b/src/static/publishBall/icon-arrow-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/static/publishBall/icon-changda.svg b/src/static/publishBall/icon-changda.svg new file mode 100644 index 0000000..6cc0b19 --- /dev/null +++ b/src/static/publishBall/icon-changda.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/static/publishBall/icon-cost.svg b/src/static/publishBall/icon-cost.svg new file mode 100644 index 0000000..c7cd7e5 --- /dev/null +++ b/src/static/publishBall/icon-cost.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/static/publishBall/icon-gameplay.svg b/src/static/publishBall/icon-gameplay.svg new file mode 100644 index 0000000..63a7e62 --- /dev/null +++ b/src/static/publishBall/icon-gameplay.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/static/publishBall/icon-location.svg b/src/static/publishBall/icon-location.svg new file mode 100644 index 0000000..b5236dc --- /dev/null +++ b/src/static/publishBall/icon-location.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/static/publishBall/icon-personal.svg b/src/static/publishBall/icon-personal.svg new file mode 100644 index 0000000..30a0f54 --- /dev/null +++ b/src/static/publishBall/icon-personal.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/static/publishBall/icon-remove.svg b/src/static/publishBall/icon-remove.svg new file mode 100644 index 0000000..d63cdb8 --- /dev/null +++ b/src/static/publishBall/icon-remove.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/static/publishBall/icon-tips.svg b/src/static/publishBall/icon-tips.svg new file mode 100644 index 0000000..6a4eb85 --- /dev/null +++ b/src/static/publishBall/icon-tips.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/static/publishBall/icon-upload.svg b/src/static/publishBall/icon-upload.svg new file mode 100644 index 0000000..c72d2ce --- /dev/null +++ b/src/static/publishBall/icon-upload.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + +