uniapp 从可视化项目 向 cli 迁移

前言

为满足自动化部署对 uniapp 进行迁移

本地环境
node -v     # 14.20.0
npm -v      # 6.14.17
vue -V      # vue-cli 5.0.8

一、安装并且搭建cli项目

安装 vue/cli
npm install -g @vue/cli
# OR
yarn global add @vue/cli
如需升级
npm update -g @vue/cli
# OR
yarn global upgrade --latest @vue/cli

uniapp 官网推荐使用 @vue/cli@4 及以上版本

二、搭建 uniapp

vue create -p dcloudio/uni-preset-vue my-project

可以根据提示创建模板,推荐使用默认模板

img

三、代码迁移

  • 将 HBuilderX 工程内的文件(除 unpackage、node_modules 目录)拷贝至 vue-cli 工程内 src 目录
  • 在 vue-cli 工程内重新安装 npm 依赖(如果之前使用了 npm 依赖的话)

四、解决报错

由于项目中使用了 sassHbuilder内置了sass模块,这里需要重新安装一下。

npm i sass -D
npm i sass-loader -D
npm i node-sass@4.14.1 -D

根据本地 node 版本下载 node-sass,版本不对应会报错

不同的 node 版本下载对应的 node-sass

node-sass node不同版本对应版本号 传送门

五、如果你的项目中使用了 uniui

安装
npm i @dcloudio/uni-ui 
# OR
yarn add @dcloudio/uni-ui
在跟目录 pages.json 中添加 easycom 节点
// pages.json
{
	"easycom": {
		"autoscan": true,
		"custom": {
			// uni-ui 规则如下配置
			"^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue"
		}
	},
	
	// 其他内容
	pages:[
		// ...
	]
}
注意
  • uni-ui 现在只推荐使用 easycom ,如自己引用组件,可能会出现组件找不到的问题
  • 使用 npm 安装的组件,默认情况下 babel-loader 会忽略所有 node_modules 中的文件 ,导致条件编译失效,需要通过配置 vue.config.js 解决:
// 在根目录创建 vue.config.js 文件,并配置如下
module.exports = {
   transpileDependencies: ['@dcloudio/uni-ui']
}
// 如果是vue3 + vite, 修改 vite.config.js 或 vite.config.ts
export default defineConfig({
   optimizeDeps: ['@dcloudio/uni-ui']
})

本文中借鉴以下文献:

https://uniapp.dcloud.net.cn/component/uniui/quickstart.html
https://www.npmjs.com/package/node-sass?activeTab=versions
https://ask.dcloud.net.cn/article/35750

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可鲁可的人生导师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值