原文鏈接:https://ask.dcloud.net.cn/article/36037
項(xiàng)目源碼:https://github.com/zhangdaren/miniprogram-to-uniapp
處理方式:https://www.cnblogs.com/Can-daydayup/p/12453173.html
下載uni-app插件 下載地址:https://ext.dcloud.net.cn/plugin?id=2656
三、它能做哪些事情?
支持微信、QQ、頭條/抖音、支付寶/釘釘和百度等小程序轉(zhuǎn)換到 uni-app 項(xiàng)目
支持有/無(wú)云開發(fā)的小程序項(xiàng)目轉(zhuǎn)換為 uni-app 項(xiàng)目(cloudfunctions 目錄將被忽略,uni-app 結(jié)合小程序云開發(fā)見:使用 uni-app 進(jìn)行微信小程序云開發(fā)經(jīng)驗(yàn)分享)
支持解析 TypeScript 小程序項(xiàng)目
支持解析使用 npm 模塊的小程序項(xiàng)目
支持解析 include 標(biāo)簽
支持解析 template 標(biāo)簽
支持解析 Behavior 文件為 mixins 文件
支持.js', .wxml 和*.wxss 文件進(jìn)行相應(yīng)轉(zhuǎn)換,并做了大量的優(yōu)化
支持識(shí)別 App、Page、Component、VantComponent、Behavior 和純 Javascript 文件的轉(zhuǎn)換
修復(fù)變量名與函數(shù)重名的情況
合并使用 require 導(dǎo)入的 wxs 文件
setData() polyfill
搜索未在 data 聲明,而直接在 setData()里使用的變量,并修復(fù)
使用jyf-parser替換 wxParse(感謝網(wǎng)友 “愛瑞巴勒康忙北鼻” 的建議)
因 uni-app 會(huì)將所有非 static 目錄的資源文件刪除,因此將所有資源文件移入 static 目錄,并修復(fù)所有能修復(fù)到的路徑(目前 uni 編譯時(shí)會(huì)將非 static 目錄的文件復(fù)制一份到 static 目錄,但并不完全,因此本功能仍保留)
四、它還有哪些不支持轉(zhuǎn)換?
不支持轉(zhuǎn)換反編譯后的小程序項(xiàng)目
不支持轉(zhuǎn)換使用 uni-app 編譯的小程序項(xiàng)目
不支持轉(zhuǎn)換使用 redux 開發(fā)的小程序(代表為:網(wǎng)易云信小程序 DEMO)
不支持轉(zhuǎn)換使用 wxpage 開發(fā)的小程序(https://github.com/tvfe/wxpage)
不支持轉(zhuǎn)換使用騰訊 omi 開發(fā)的小程序(https://github.com/Tencent/omi)
不支持轉(zhuǎn)換小程序抽象節(jié)點(diǎn) componentGenerics
不支持 component 里的 pageLifetimes 生命周期,請(qǐng)手動(dòng)繞過(guò)
不支持使用 js 系統(tǒng)關(guān)鍵字作為函數(shù)或變量名(如 default、import、return、switch 等)
不支持以\$開頭的變量名稱,如 Page({data:{$data:{name:"hello"}}}) ,剛好\$data 是 vue 內(nèi)置變量,so 不支持,需手動(dòng)修復(fù)
不支持以動(dòng)態(tài)綁定的函數(shù)<input @input="test{{index+1}}">,需手動(dòng)修復(fù)
五、怎么使用?
第一步
在命令行里,運(yùn)行【 npm install miniprogram-to-uniapp -g 】進(jìn)行安裝,因?yàn)檫@個(gè)包是工具,要求全局都能使用,所以需要-g進(jìn)行全局安裝。
如果運(yùn)行npm報(bào)錯(cuò),請(qǐng)先安裝Node.js,下載地址:https://nodejs.org/zh-cn/