uniapp+vue3+vite+ts+pinia 小程序框架搭建 | 您所在的位置:网站首页 › uni-app刷新页面 › uniapp+vue3+vite+ts+pinia 小程序框架搭建 |
创建项目
通过 HBuilderX 创建
安装HBuilderX:官方IDE下载地址
参考:通过 HBuilderX 可视化界面
通过 vue-cli 命令创建
全局安装 vue-cli npm install -g @vue/cli 复制代码使用Vue3/Vite版 创建以 typescript 开发的工程(如命令行创建失败,请直接访问 gitee 下载模板) npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project 复制代码💡 Tips: Vue3/Vite版要求 node 版本^14.18.0 || >=16.0.0 如果使用 HBuilderX(3.6.7以下版本)运行 Vue3/Vite 创建的最新的 cli 工程,需要在 HBuilderX 运行配置最底部设置 node路径 为自己本机高版本 node 路径(注意需要重启 HBuilderX 才可以生效) HBuilderX Mac 版本菜单栏左上角 HBuilderX->偏好设置->运行配置->node路径 HBuilderX Windows 版本菜单栏 工具->设置->运行配置->node路径 使用vscode开发 安装插件vue3 官方插件 Volar 进行语言支持 Eslint + Prettier 代码规范约束 uniapp 代码提示 一键创建页面、组件、分包 在终端中输入: npm install pinia 复制代码接下来在 main.ts 中引入一下: // main.ts import { createSSRApp } from 'vue' import { createPinia } from 'pinia' import App from './App.vue' export function createApp () { const app = createSSRApp(App).use(createPinia()) return { app } } 复制代码 Eslint代码检查 安装Eslint 依赖在终端中输入: npm i @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint eslint-config-prettier eslint-plugin-import eslint-plugin-prettier eslint-plugin-vue vue-eslint-parser -D 复制代码 安装完依赖后,我们在根目录下新建 .eslintrc.js 文件,内容如下: // .eslintrc.js module.exports = { root: true, env: { browser: true, node: true, es6: true }, parser: 'vue-eslint-parser', parserOptions: { parser: '@typescript-eslint/parser', ecmaVersion: 2020, sourceType: 'module', jsxPragma: 'React', ecmaFeatures: { jsx: true, tsx: true } }, plugins: ['@typescript-eslint', 'prettier', 'import'], extends: [ 'eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:vue/vue3-recommended', 'prettier' ], overrides: [ { files: ['*.ts', '*.tsx', '*.vue'], rules: { 'no-undef': 'off' } } ], rules: { 'no-unused-vars': ['error', { varsIgnorePattern: '.*', args: 'none' }], '@typescript-eslint/no-unused-vars': 'off', 'vue/component-name-in-template-casing': [ 'error', 'kebab-case', { registeredComponentsOnly: false, ignores: [] } ], 'vue/prop-name-casing': ['error', 'camelCase'], 'vue/require-v-for-key': 'error', 'vue/no-use-v-if-with-v-for': [ 'error', { allowUsingIterationVar: false } ], 'vue/v-bind-style': ['error', 'shorthand'], 'vue/v-on-style': ['error', 'shorthand'], 'no-useless-escape': 0 } } 复制代码 在根目录创建ESLint忽略文件配置 .eslintignore ,来指定我们不需要进行检查的目录或文件 node_modules dist *.md *.woff *.ttf .vscode .idea 复制代码 在根目录创建 .prettierrc 文件 { "useTabs": false, "tabWidth": 2, "printWidth": 80, "singleQuote": true, "trailingComma": "none", "semi": false, "endOfLine": "auto" } 复制代码 在根目录创建 .prettierignore 文件 **/*.svg **/*.ico package.json package-lock.json /dist .DS_Store .eslintignore *.png .editorconfig .gitignore .prettierignore .eslintcache *.lock yarn-error.log **/node_modules/** 复制代码 路径别名设置修改 vite.config.ts ,这里我们先设置两个别名,一个是针对 src 下代码文件,一个是针对图片静态文件,内容如下: // vite.config.ts import path from 'path' import { defineConfig } from 'vite' import uni from '@dcloudio/vite-plugin-uni' // https://vitejs.dev/config/ export default defineConfig({ plugins: [uni()], resolve: { alias: { '@': path.resolve(__dirname, 'src'), '@img': path.resolve(__dirname, 'src/static/images'), }, }, }) 复制代码接着我们在 .vue 文件的 template 中可以这么写: 复制代码 自动导入自动导入vue方法 vue3 script setup 写法中,组件间通信有 defineProps 跟 defineEmits 这种编译器宏方法,无需导入就可以直接使用。而对于vue当中导出的代码,我们还是需要手动显示引入,如下: import { computed, ref } from 'vue' const count = ref(0) 复制代码那有没有办法像 defineProps 等编译器宏方法一样,无需手动导入就可以直接使用呢?对此,我们可以使用unplugin-auto-import npm包实现。 安装依赖包,在终端中输入: npm i -D unplugin-auto-import 复制代码在 vite.config.ts 中引入 // vite.config.ts import AutoImport from 'unplugin-auto-import/vite' export default defineConfig({ plugins: [ uni(), AutoImport({ include: [ /.[tj]sx?$/, // .ts, .tsx, .js, .jsx /.vue$/, /.vue?vue/, // .vue /.md$/ // .md ], dts: 'src/auto-imports.d.ts', // 安装好依赖后,重新运行编译即可自动在根目录下生成此声明文件 imports: ['vue', 'uni-app', 'pinia'], eslintrc: { enabled: true, // Default `false` filepath: './.eslintrc-auto-import.json', // Default `./.eslintrc-auto-import.json` globalsPropValue: true // Default `true`, (true | false | 'readonly' | 'readable' | 'writable' | 'writeable') } }), ] }) 复制代码接着我们需要在 tsconfig.ts 文件 include 属性中引入声明文件,否则直接使用ts会报错。 "include": [ "src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue", "auto-imports.d.ts" ] 复制代码接着我们就可以直接在代码中无需导入直接使用vue中方法了: // import { computed, ref } from 'vue' 这行代码不用写了 const count = ref(0) 复制代码 运行、发布项目对应的命令在 package.json 中,可以自行查看。 npm run dev:%PLATFORM% npm run build:%PLATFORM% 复制代码在微信开发者工具导入打包出来的文件夹 然后,就可以愉快的写代码了。 💡 Tips: VSCode跟Hbuilder x 不同的是,VSCode不会自动在微信开发者工具导入项目并打开,我们需要手动导入项目,只需要导入一次就行了,以后直接打开微信开发者工具就行了。 需要注意的是,需要在 manifest.json 配置微信小程序appid,不然微信开发者工具会报错。 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |