├── .env ├── .gitignore ├── README.md ├── babel.config.js ├── jest.config.js ├── package.json ├── platform.js ├── postcss.config.js ├── public └── index.html ├── src ├── App.vue ├── main.ts ├── manifest.json ├── pages.json ├── pages │ └── index │ │ └── index.vue ├── sfc.d.ts ├── shims-vue.d.ts ├── static │ └── logo.png ├── uni-app.d.ts └── uni.scss ├── tailwind.config.js ├── tsconfig.json ├── vue.config.js └── yarn.lock /.env: -------------------------------------------------------------------------------- 1 | # 假如 jit 模式 HMR 失效 2 | TAILWIND_MODE=watch -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | unpackage/ 4 | dist/ 5 | 6 | # local env files 7 | .env.local 8 | .env.*.local 9 | 10 | # Log files 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | 15 | # Editor directories and files 16 | .project 17 | .idea 18 | .vscode 19 | *.suo 20 | *.ntvs* 21 | *.njsproj 22 | *.sln 23 | *.sw* 24 | 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 这个webpack打包vue3的模板,已经被废弃,建议使用 [uni-app-vite-vue3-tailwind-vscode-template](https://github.com/sonofmagic/uni-app-vite-vue3-tailwind-vscode-template) 2 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | const plugins = [] 2 | 3 | if (process.env.UNI_OPT_TREESHAKINGNG) { 4 | plugins.push(require('@dcloudio/vue-cli-plugin-uni-optimize/packages/babel-plugin-uni-api/index.js')) 5 | } 6 | 7 | if ( 8 | ( 9 | process.env.UNI_PLATFORM === 'app-plus' && 10 | process.env.UNI_USING_V8 11 | ) || 12 | ( 13 | process.env.UNI_PLATFORM === 'h5' && 14 | process.env.UNI_H5_BROWSER === 'builtin' 15 | ) 16 | ) { 17 | const path = require('path') 18 | 19 | const isWin = /^win/.test(process.platform) 20 | 21 | const normalizePath = path => (isWin ? path.replace(/\\/g, '/') : path) 22 | 23 | const input = normalizePath(process.env.UNI_INPUT_DIR) 24 | try { 25 | plugins.push([ 26 | require('@dcloudio/vue-cli-plugin-hbuilderx/packages/babel-plugin-console'), 27 | { 28 | file (file) { 29 | file = normalizePath(file) 30 | if (file.indexOf(input) === 0) { 31 | return path.relative(input, file) 32 | } 33 | return false 34 | } 35 | } 36 | ]) 37 | } catch (e) {} 38 | } 39 | 40 | process.UNI_LIBRARIES = process.UNI_LIBRARIES || ['@dcloudio/uni-ui'] 41 | process.UNI_LIBRARIES.forEach(libraryName => { 42 | plugins.push([ 43 | 'import', 44 | { 45 | 'libraryName': libraryName, 46 | 'customName': (name) => { 47 | return `${libraryName}/lib/${name}/${name}` 48 | } 49 | } 50 | ]) 51 | }) 52 | module.exports = { 53 | presets: [ 54 | [ 55 | '@vue/app', 56 | { 57 | useBuiltIns: process.env.UNI_PLATFORM === 'h5' ? 'usage' : 'entry' 58 | } 59 | ] 60 | ], 61 | plugins 62 | } 63 | -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | globalTeardown: '@dcloudio/uni-automator/dist/teardown.js', 3 | testEnvironment: '@dcloudio/uni-automator/dist/environment.js', 4 | testEnvironmentOptions: {}, 5 | testTimeout: 15000, 6 | reporters: [ 7 | 'default' 8 | ], 9 | watchPathIgnorePatterns: ['/node_modules/', '/dist/', '/.git/'], 10 | moduleFileExtensions: ['js', 'json'], 11 | rootDir: __dirname, 12 | testMatch: ['/src/**/*test.[jt]s?(x)'], 13 | testPathIgnorePatterns: ['/node_modules/'] 14 | } 15 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "my-vue3-project", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "serve": "npm run dev:h5", 7 | "build": "npm run build:h5", 8 | "build:app-plus": "cross-env NODE_ENV=production UNI_PLATFORM=app-plus vue-cli-service uni-build", 9 | "build:custom": "cross-env NODE_ENV=production uniapp-cli custom", 10 | "build:h5": "cross-env NODE_ENV=production UNI_PLATFORM=h5 vue-cli-service uni-build", 11 | "build:mp-360": "cross-env NODE_ENV=production UNI_PLATFORM=mp-360 vue-cli-service uni-build", 12 | "build:mp-alipay": "cross-env NODE_ENV=production UNI_PLATFORM=mp-alipay vue-cli-service uni-build", 13 | "build:mp-baidu": "cross-env NODE_ENV=production UNI_PLATFORM=mp-baidu vue-cli-service uni-build", 14 | "build:mp-kuaishou": "cross-env NODE_ENV=production UNI_PLATFORM=mp-kuaishou vue-cli-service uni-build", 15 | "build:mp-qq": "cross-env NODE_ENV=production UNI_PLATFORM=mp-qq vue-cli-service uni-build", 16 | "build:mp-toutiao": "cross-env NODE_ENV=production UNI_PLATFORM=mp-toutiao vue-cli-service uni-build", 17 | "build:mp-weixin": "cross-env NODE_ENV=production UNI_PLATFORM=mp-weixin vue-cli-service uni-build", 18 | "build:quickapp-native": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-native vue-cli-service uni-build", 19 | "build:quickapp-webview": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-webview vue-cli-service uni-build", 20 | "build:quickapp-webview-huawei": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-webview-huawei vue-cli-service uni-build", 21 | "build:quickapp-webview-union": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-webview-union vue-cli-service uni-build", 22 | "dev:app-plus": "cross-env NODE_ENV=development UNI_PLATFORM=app-plus vue-cli-service uni-build --watch", 23 | "dev:custom": "cross-env NODE_ENV=development uniapp-cli custom", 24 | "dev:h5": "cross-env NODE_ENV=development UNI_PLATFORM=h5 vue-cli-service uni-serve", 25 | "dev:mp-360": "cross-env NODE_ENV=development UNI_PLATFORM=mp-360 vue-cli-service uni-build --watch", 26 | "dev:mp-alipay": "cross-env NODE_ENV=development UNI_PLATFORM=mp-alipay vue-cli-service uni-build --watch", 27 | "dev:mp-baidu": "cross-env NODE_ENV=development UNI_PLATFORM=mp-baidu vue-cli-service uni-build --watch", 28 | "dev:mp-kuaishou": "cross-env NODE_ENV=development UNI_PLATFORM=mp-kuaishou vue-cli-service uni-build --watch", 29 | "dev:mp-qq": "cross-env NODE_ENV=development UNI_PLATFORM=mp-qq vue-cli-service uni-build --watch", 30 | "dev:mp-toutiao": "cross-env NODE_ENV=development UNI_PLATFORM=mp-toutiao vue-cli-service uni-build --watch", 31 | "dev:mp-weixin": "cross-env NODE_ENV=development UNI_PLATFORM=mp-weixin vue-cli-service uni-build --watch", 32 | "dev:quickapp-native": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-native vue-cli-service uni-build --watch", 33 | "dev:quickapp-webview": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-webview vue-cli-service uni-build --watch", 34 | "dev:quickapp-webview-huawei": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-webview-huawei vue-cli-service uni-build --watch", 35 | "dev:quickapp-webview-union": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-webview-union vue-cli-service uni-build --watch", 36 | "info": "node node_modules/@dcloudio/vue-cli-plugin-uni/commands/info.js", 37 | "serve:quickapp-native": "node node_modules/@dcloudio/uni-quickapp-native/bin/serve.js", 38 | "test:android": "cross-env UNI_PLATFORM=app-plus UNI_OS_NAME=android jest -i", 39 | "test:h5": "cross-env UNI_PLATFORM=h5 jest -i", 40 | "test:ios": "cross-env UNI_PLATFORM=app-plus UNI_OS_NAME=ios jest -i", 41 | "test:mp-baidu": "cross-env UNI_PLATFORM=mp-baidu jest -i", 42 | "test:mp-weixin": "cross-env UNI_PLATFORM=mp-weixin jest -i", 43 | "open:dev": "weapp open -p dist/dev/mp-weixin", 44 | "open:build": "weapp open -p dist/build/mp-weixin", 45 | "weapp:login": "weapp login", 46 | "upload:dev": "weapp upload -p dist/dev/mp-weixin -v 1.0.0 -d \"dev version\"", 47 | "upload:build": "weapp upload -p dist/build/mp-weixin -v 1.0.0 -d \"release version\"", 48 | "prepare": "weapp-tw patch" 49 | }, 50 | "dependencies": { 51 | "@dcloudio/uni-app": "2.0.2-alpha-3071320230411001", 52 | "@dcloudio/uni-app-plus": "2.0.2-alpha-3071320230411001", 53 | "@dcloudio/uni-h5": "2.0.2-alpha-3071320230411001", 54 | "@dcloudio/uni-helper-json": "*", 55 | "@dcloudio/uni-i18n": "2.0.2-alpha-3071320230411001", 56 | "@dcloudio/uni-mp-360": "2.0.2-alpha-3071320230411001", 57 | "@dcloudio/uni-mp-alipay": "2.0.2-alpha-3071320230411001", 58 | "@dcloudio/uni-mp-baidu": "2.0.2-alpha-3071320230411001", 59 | "@dcloudio/uni-mp-jd": "2.0.2-alpha-3071320230411001", 60 | "@dcloudio/uni-mp-kuaishou": "2.0.2-alpha-3071320230411001", 61 | "@dcloudio/uni-mp-lark": "2.0.2-alpha-3071320230411001", 62 | "@dcloudio/uni-mp-qq": "2.0.2-alpha-3071320230411001", 63 | "@dcloudio/uni-mp-toutiao": "2.0.2-alpha-3071320230411001", 64 | "@dcloudio/uni-mp-vue": "2.0.2-alpha-3071320230411001", 65 | "@dcloudio/uni-mp-weixin": "2.0.2-alpha-3071320230411001", 66 | "@dcloudio/uni-mp-xhs": "2.0.2-alpha-3071320230411001", 67 | "@dcloudio/uni-quickapp-native": "2.0.2-alpha-3071320230411001", 68 | "@dcloudio/uni-quickapp-webview": "2.0.2-alpha-3071320230411001", 69 | "@dcloudio/uni-stacktracey": "2.0.2-alpha-3071320230411001", 70 | "@dcloudio/uni-stat": "2.0.2-alpha-3071320230411001", 71 | "@vue/shared": "^3.2.47", 72 | "core-js": "^3.30.1", 73 | "flyio": "^0.6.2", 74 | "lodash": "^4.17.21", 75 | "regenerator-runtime": "^0.13.11", 76 | "vue": "^3.2.47", 77 | "vuex": "^4.1.0" 78 | }, 79 | "devDependencies": { 80 | "@babel/plugin-syntax-typescript": "^7.21.4", 81 | "@dcloudio/types": "3.2.11", 82 | "@dcloudio/uni-automator": "2.0.2-alpha-3071320230411001", 83 | "@dcloudio/uni-cli-i18n": "2.0.2-alpha-3071320230411001", 84 | "@dcloudio/uni-cli-shared": "2.0.2-alpha-3071320230411001", 85 | "@dcloudio/uni-migration": "2.0.2-alpha-3071320230411001", 86 | "@dcloudio/uni-template-compiler": "2.0.2-alpha-3071320230411001", 87 | "@dcloudio/vue-cli-plugin-hbuilderx": "2.0.2-alpha-3071320230411001", 88 | "@dcloudio/vue-cli-plugin-uni": "2.0.2-alpha-3071320230411001", 89 | "@dcloudio/vue-cli-plugin-uni-optimize": "2.0.2-alpha-3071320230411001", 90 | "@dcloudio/webpack-uni-mp-loader": "2.0.2-alpha-3071320230411001", 91 | "@dcloudio/webpack-uni-pages-loader": "2.0.2-alpha-3071320230411001", 92 | "@types/lodash": "^4.14.192", 93 | "@types/tailwindcss": "^3.1.0", 94 | "@vue/cli-plugin-babel": "~5.0.8", 95 | "@vue/cli-plugin-typescript": "5.0.8", 96 | "@vue/cli-service": "~5.0.8", 97 | "@vue/compiler-sfc": "^3.2.47", 98 | "autoprefixer": "10.4.14", 99 | "babel-plugin-import": "^1.13.6", 100 | "cross-env": "^7.0.2", 101 | "jest": "^25.4.0", 102 | "mini-types": "*", 103 | "miniprogram-api-typings": "3.9.1", 104 | "postcss": "8.4.21", 105 | "postcss-comment": "^2.0.0", 106 | "postcss-rem-to-responsive-pixel": "^5.1.1", 107 | "sass": "^1.62.0", 108 | "sass-loader": "13.2.2", 109 | "tailwindcss": "npm:@tailwindcss/postcss7-compat", 110 | "tailwindcss-miniprogram-preset": "^2.0.0", 111 | "typescript": "^5.0.4", 112 | "weapp-ide-cli": "^1.0.1", 113 | "weapp-tailwindcss-webpack-plugin": "^2.1.0" 114 | }, 115 | "browserslist": [ 116 | "Android >= 4", 117 | "ios >= 8" 118 | ], 119 | "uni-app": { 120 | "scripts": {} 121 | } 122 | } -------------------------------------------------------------------------------- /platform.js: -------------------------------------------------------------------------------- 1 | const isH5 = process.env.UNI_PLATFORM === "h5"; 2 | const isApp = process.env.UNI_PLATFORM === "app"; 3 | 4 | const WeappTailwindcssDisabled = isH5 || isApp; 5 | 6 | module.exports = { 7 | isH5, 8 | isApp, 9 | WeappTailwindcssDisabled, 10 | }; 11 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | const path = require("path"); 2 | const { WeappTailwindcssDisabled } = require("./platform"); 3 | module.exports = { 4 | parser: require("postcss-comment"), 5 | plugins: [ 6 | require("postcss-import")({ 7 | resolve(id, basedir, importOptions) { 8 | if (id.startsWith("~@/")) { 9 | return path.resolve(process.env.UNI_INPUT_DIR, id.substr(3)); 10 | } else if (id.startsWith("@/")) { 11 | return path.resolve(process.env.UNI_INPUT_DIR, id.substr(2)); 12 | } else if (id.startsWith("/") && !id.startsWith("//")) { 13 | return path.resolve(process.env.UNI_INPUT_DIR, id.substr(1)); 14 | } 15 | return id; 16 | }, 17 | }), 18 | require("autoprefixer")({ 19 | remove: process.env.UNI_PLATFORM !== "h5", 20 | }), 21 | // tailwindcss for postcss7 22 | require("tailwindcss")({ config: "./tailwind.config.js" }), 23 | // rem 转 rpx 24 | WeappTailwindcssDisabled 25 | ? undefined 26 | : require("postcss-rem-to-responsive-pixel/postcss7")({ 27 | rootValue: 32, 28 | propList: ["*"], 29 | transformUnit: "rpx", 30 | }), 31 | 32 | require("@dcloudio/vue-cli-plugin-uni/packages/postcss"), 33 | ], 34 | }; 35 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | <%= htmlWebpackPlugin.options.title %> 9 | 10 | 17 | 18 | 19 | 20 | 21 | 24 |
25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 15 | 19 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from './App.vue' 3 | 4 | createApp(App).mount('#app') 5 | -------------------------------------------------------------------------------- /src/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "my-vue3-project", 3 | "appid": "", 4 | "description": "", 5 | "versionName": "1.0.0", 6 | "versionCode": "100", 7 | "transformPx": false, 8 | "app-plus": { 9 | /* 5+App特有相关 */ 10 | "modules": { 11 | /* 模块配置 */ 12 | }, 13 | "distribute": { 14 | /* 应用发布信息 */ 15 | "android": { 16 | /* android打包配置 */ 17 | "permissions": [ 18 | "", 19 | "", 20 | "", 21 | "", 22 | "", 23 | "", 24 | "", 25 | "", 26 | "", 27 | "", 28 | "", 29 | "", 30 | "", 31 | "", 32 | "", 33 | "", 34 | "", 35 | "", 36 | "", 37 | "", 38 | "", 39 | "" 40 | ] 41 | }, 42 | "ios": { 43 | /* ios打包配置 */ 44 | }, 45 | "sdkConfigs": { 46 | /* SDK配置 */ 47 | } 48 | }, 49 | "usingComponents": true 50 | }, 51 | "quickapp": { 52 | /* 快应用特有相关 */ 53 | }, 54 | "mp-weixin": { 55 | /* 小程序特有相关 */ 56 | "usingComponents": true, 57 | "appid": "wxb3d842a4a7e3440d", 58 | "lazyCodeLoading": "requiredComponents", 59 | "setting": { 60 | "urlCheck": true 61 | } 62 | }, 63 | "mp-alipay": { 64 | "usingComponents": true 65 | }, 66 | "mp-baidu": { 67 | "usingComponents": true 68 | }, 69 | "mp-toutiao": { 70 | "usingComponents": true 71 | }, 72 | "mp-qq": { 73 | "usingComponents": true 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /src/pages.json: -------------------------------------------------------------------------------- 1 | { 2 | "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages 3 | { 4 | "path": "pages/index/index", 5 | "style": { 6 | "navigationBarTitleText": "uni-app" 7 | } 8 | } 9 | ], 10 | "globalStyle": { 11 | "navigationBarTextStyle": "black", 12 | "navigationBarTitleText": "uni-app", 13 | "navigationBarBackgroundColor": "#F8F8F8", 14 | "backgroundColor": "#F8F8F8" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/pages/index/index.vue: -------------------------------------------------------------------------------- 1 | 32 | 33 | 46 | 47 | 49 | -------------------------------------------------------------------------------- /src/sfc.d.ts: -------------------------------------------------------------------------------- 1 | declare module "*.vue" { 2 | import Vue from 'vue' 3 | export default Vue 4 | } -------------------------------------------------------------------------------- /src/shims-vue.d.ts: -------------------------------------------------------------------------------- 1 | declare module "*.vue" { 2 | import type { DefineComponent } from "vue"; 3 | const component: DefineComponent<{}, {}, any>; 4 | export default component; 5 | } 6 | -------------------------------------------------------------------------------- /src/static/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icebreaker-trash/uni-app-vue3-tailwind-vscode-template/6e5b34db1893388103d7a1fafa2aef842b7cd01b/src/static/logo.png -------------------------------------------------------------------------------- /src/uni-app.d.ts: -------------------------------------------------------------------------------- 1 | import "vue"; 2 | declare module "vue" { 3 | type Hooks = App.AppInstance & Page.PageInstance; 4 | interface ComponentCustomOptions extends Hooks {} 5 | } 6 | -------------------------------------------------------------------------------- /src/uni.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * 这里是uni-app内置的常用样式变量 3 | * 4 | * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 5 | * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App 6 | * 7 | */ 8 | 9 | /** 10 | * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 11 | * 12 | * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 13 | */ 14 | 15 | /* 颜色变量 */ 16 | 17 | /* 行为相关颜色 */ 18 | $uni-color-primary: #007aff; 19 | $uni-color-success: #4cd964; 20 | $uni-color-warning: #f0ad4e; 21 | $uni-color-error: #dd524d; 22 | 23 | /* 文字基本颜色 */ 24 | $uni-text-color:#333;//基本色 25 | $uni-text-color-inverse:#fff;//反色 26 | $uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息 27 | $uni-text-color-placeholder: #808080; 28 | $uni-text-color-disable:#c0c0c0; 29 | 30 | /* 背景颜色 */ 31 | $uni-bg-color:#ffffff; 32 | $uni-bg-color-grey:#f8f8f8; 33 | $uni-bg-color-hover:#f1f1f1;//点击状态颜色 34 | $uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色 35 | 36 | /* 边框颜色 */ 37 | $uni-border-color:#c8c7cc; 38 | 39 | /* 尺寸变量 */ 40 | 41 | /* 文字尺寸 */ 42 | $uni-font-size-sm:24upx; 43 | $uni-font-size-base:28upx; 44 | $uni-font-size-lg:32upx; 45 | 46 | /* 图片尺寸 */ 47 | $uni-img-size-sm:40upx; 48 | $uni-img-size-base:52upx; 49 | $uni-img-size-lg:80upx; 50 | 51 | /* Border Radius */ 52 | $uni-border-radius-sm: 4upx; 53 | $uni-border-radius-base: 6upx; 54 | $uni-border-radius-lg: 12upx; 55 | $uni-border-radius-circle: 50%; 56 | 57 | /* 水平间距 */ 58 | $uni-spacing-row-sm: 10px; 59 | $uni-spacing-row-base: 20upx; 60 | $uni-spacing-row-lg: 30upx; 61 | 62 | /* 垂直间距 */ 63 | $uni-spacing-col-sm: 8upx; 64 | $uni-spacing-col-base: 16upx; 65 | $uni-spacing-col-lg: 24upx; 66 | 67 | /* 透明度 */ 68 | $uni-opacity-disabled: 0.3; // 组件禁用态的透明度 69 | 70 | /* 文章场景相关 */ 71 | $uni-color-title: #2C405A; // 文章标题颜色 72 | $uni-font-size-title:40upx; 73 | $uni-color-subtitle: #555555; // 二级标题颜色 74 | $uni-font-size-subtitle:36upx; 75 | $uni-color-paragraph: #3F536E; // 文章段落颜色 76 | $uni-font-size-paragraph:30upx; -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | // const { defaultPreset } = require('tailwindcss-miniprogram-preset') 2 | 3 | // 基础配置,无需任何preset 4 | // https://github.com/sonofmagic/weapp-tailwindcss-webpack-plugin/blob/main/demo/uni-app/tailwind.config.js 5 | /** @type {import('@types/tailwindcss/tailwind-config').TailwindConfig} */ 6 | module.exports = { 7 | mode: 'jit', 8 | purge: { 9 | content: ['public/index.html', './src/**/*.{vue,js,ts,jsx,tsx,wxml}'] 10 | }, 11 | darkMode: false, // or 'media' or 'class' 12 | theme: { 13 | extend: {} 14 | }, 15 | variants: {}, 16 | plugins: [], 17 | corePlugins: { 18 | preflight: false 19 | } 20 | } -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "module": "esnext", 5 | "strict": true, 6 | "jsx": "preserve", 7 | "importHelpers": true, 8 | "moduleResolution": "node", 9 | "esModuleInterop": true, 10 | "allowSyntheticDefaultImports": true, 11 | "experimentalDecorators":true, 12 | "sourceMap": true, 13 | "skipLibCheck": true, 14 | "baseUrl": ".", 15 | "types": [ 16 | "webpack-env", 17 | "@dcloudio/types", 18 | "miniprogram-api-typings", 19 | "mini-types" 20 | ], 21 | "paths": { 22 | "@/*": [ 23 | "./src/*" 24 | ] 25 | }, 26 | "lib": [ 27 | "esnext", 28 | "dom", 29 | "dom.iterable", 30 | "scripthost" 31 | ] 32 | }, 33 | "exclude": [ 34 | "node_modules", 35 | "unpackage", 36 | "src/**/*.nvue" 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | process.env.UNI_USING_VUE3 = true; 2 | process.env.UNI_USING_VUE3_OPTIONS_API = true; 3 | const { WeappTailwindcssDisabled } = require("./platform"); 4 | const { 5 | UnifiedWebpackPluginV5 6 | } = require("weapp-tailwindcss-webpack-plugin"); 7 | 8 | /** 9 | * @type {import('@vue/cli-service').ProjectOptions} 10 | */ 11 | const config = { 12 | //.... 13 | configureWebpack: { 14 | plugins: [ 15 | new UnifiedWebpackPluginV5({ 16 | disabled: WeappTailwindcssDisabled, 17 | }), 18 | ], 19 | }, 20 | //.... 21 | }; 22 | 23 | module.exports = config; 24 | --------------------------------------------------------------------------------