uniapp创建Vue3项目总结

一、创建项目 

  1. 选择新建uni-app项目,输入项目名称,选择项目文件存放的位置,选择项目需要的模板。
  2. 选择Vue 3 版本。
  3. 点击创建,即可创建V3项目

二、vue3 main.js配置引用示例

import App from './App'
import uviewPlus from 'uview-plus'
// import '.env.js' //引入环境变量

// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'
Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
  ...App
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
import store from './store'

// //语言配置
import { createI18n } from 'vue-i18n'
import messages from './locale/index'
const i18n = createI18n({
	locale:  uni.getLocale(), // 获取已设置的语言,
	legacy: false, // 如果要支持compositionAPI,此项必须设置为false;
	globalInjection: true, // 全局注册$t方法
	messages
})
// 不能修改导出的 createApp 方法名,不能修改从 Vue 中导入的 createSSRApp。
export function createApp() {
  const app = createSSRApp(App)
  app.use(store).use(uviewPlus).use(i18n);
  /* // 调用setConfig方法,方法内部会进行对象属性深度合并,可以放心嵌套配置
  // 需要在app.use(uview-plus)之后执行
  uni.$u.setConfig({
  	// 修改$u.config对象的属性
  	config: {
  		// 修改默认单位为rpx,相当于执行 uni.$u.config.unit = 'rpx'
  		unit: 'rpx'
  	},
  }) */
  return {
      app
  }
}
// #endif

三、uni-app vue3 中 vuex 用法

import { createStore } from "vuex";
const store = createStore({
  state: {},
});
export default store;

四、uni-app Vue3 项目npm引用 uview-plus Ui 步骤

1、安装scss
npm i sass -D
2、准备工作
// 如果您的项目是HX创建的,根目录又没有package.json文件的话,请先执行如下命令:
// npm init -y

// 安装
npm install uview-plus
npm install dayjs
npm install clipboard
3、 配置步骤
(1)、引入uview-plus主JS库

        在项目src目录中的main.js中,引入并使用uview-plus的JS库,注意这两行要放在const app = createSSRApp(App)之后。

// main.js
import uviewPlus from 'uview-plus'

// #ifdef VUE3
import { createSSRApp } from 'vue'
export function createApp() {
  const app = createSSRApp(App)
  app.use(uviewPlus)
  return {
    app
  }
}
// #endif
(2)、在引入uview-plus的全局SCSS主题文件

        在项目根目录的uni.scss中引入此文件。

/* uni.scss */
@import 'uview-plus/theme.scss';
(3)、引入uview-plus基础样式

        在App.vue中首行的位置引入,注意给style标签加入lang="scss"属性

<style lang="scss">
	/* 注意要写在第一行,同时给style标签加入lang="scss"属性 */
	@import "uview-plus/index.scss";
</style>
(4)、配置easycom组件模式 

        此配置需要在项目src目录的pages.json中进行。

// pages.json
{
	"easycom": {
		// 注意一定要放在custom里,否则无效,https://ask.dcloud.net.cn/question/131175
		"custom": {  
	        "^u-(.*)": "uview-plus/components/u-$1/u-$1.vue" 
		}
	},
	
	// 此为本身已有的内容
	"pages": [
		// ......
	]
}

五、[plugin:commonjs] Unexpected ‘/‘. Escaping special characters with \ may help.错误分析

  1. 错误原因:公共样式(common.scss)里使用了 // 作注释。
  2. 解决办法:css中注释使用 ‘/**/’ 注释,或 把 ‘//’ 注释去掉就可以了。

 六、[sass] expected selector 报错

        解决办法: ::v-deep 替换 /deep/

七、module.exports = {} 替换 export {}

export { xx, xx}与import {xx, xx} from '../../xxx.js'

exports 等于 module.exports,相当于在js文件头部,有一个module对象,module.exports = exports;
exports是一个对象,所以可以exports多个值

八、资源文件引用问题。

  1. 无法使用require()
  2. 分包中引用分包中支援文件不要使用相对路径。路径一定要以正斜杠/开头,从项目的根目录开始查找文件。
    <image src="/packageA/static/images/login-icon.png" mode=""></image>

九、插槽的适配

Vue3 将不支持 slot="xxx" 的用法 ,要替换 v-slot:xxx 使用方法。

<!--  Vue3 支持的用法 -->
<uni-nav-bar>
  <template v-slot:left>
    <view class="city"></view>
  </template>
</uni-nav-bar>


<!--  Vue2 支持的用法 -->
<uni-nav-bar>
  <view slot="left" class="city"></view>
</uni-nav-bar>

十、v-show 在运行到app中初始渲染不生效。

解决方法:将v-show 替换为 v-if

十一、uniapp h5端使用map组件报错Map key not configured.

解决方案:配置所需要使用的第三方地图的key

持续更新中......

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在HBuilderX中开发Uniapp Vue3项目的步骤如下: 1. 首先,你需要在阿里图标库中搜索并下载你需要的图标。根据引用的说明,你可以将图标添加至购物车,然后将其下载至本地。下载完成后,解压缩压缩包,并将其中的iconfont.ttf文件拷贝到你的项目中。 2. 在HBuilderX中创建一个Uniapp项目Uniapp是一种基于Vue框架的跨平台开发框架,它可以同时开发多个平台的应用程序,包括小程序、App以及H5网页。 3. 在Uniapp项目中,你需要使用Vue3来进行前端开发。Vue3是Vue.js的最新版本,它提供了更好的性能和开发体验。在前端开发过程中,你可以使用HTML、CSS和JavaScript来编写页面的结构、样式和交互逻辑。 4. 在后端开发方面,你可以选择使用Golang语言和Gin框架。Golang是一种高效的编程语言,而Gin是一个轻量级的Web框架,适用于构建后端服务。 5. 在开发过程中,要注意网页的响应时间。根据引用的说明,网页的响应时间应该在1秒以内。 总结起来,你可以通过以下步骤在HBuilderX中开发Uniapp Vue3项目: 1. 下载并解压缩阿里图标库中的图标,并将其拷贝到项目中。 2. 在HBuilderX中创建一个Uniapp项目。 3. 使用Vue3进行前端开发,包括HTML、CSS和JavaScript。 4. 选择Golang和Gin框架进行后端开发。 5. 注意网页的响应时间,确保在1秒以内。 希望以上信息对你有帮助!<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [使用hbuilder X创建uniapp项目](https://blog.csdn.net/Summer_JK/article/details/125385736)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [go语言恶意代码检测系统-对接前端可视化与算法检测部分](https://download.csdn.net/download/liufang_imei/88222624)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值