基于vue-cli3多頁面開發(fā)apicloud應用的教程詳解第1/2頁
之前開發(fā)項APP項目直接用APICloud+原生js的方式進行編寫,整個項目下來發(fā)現(xiàn)開發(fā)慢,頁面代碼多且復雜,維護起來相對困難,而且文件大打包之后的APP會比較大,apicloud的框架也不好用,支持部分es67(像let、const、import等es6新特性不支持寫的太難受了)
采用vue-cli+APIcloud的方式寫解決以上痛點,開發(fā)靈活,并且打包之后體積更小速度更快
環(huán)境依賴
- vue
- webpack
- vue-cli3
- nodeJS
基本流程
項目開發(fā)最好準備兩個項目,一個打包APP,一個項目開發(fā),也會減少很多不必要的麻煩
創(chuàng)建項目并初始化
cd到項目想要創(chuàng)建的位置,執(zhí)行:
vue create vue-for-apicloud
選擇Manually select features

根據(jù)自己需求選擇模塊(不要Router,因為vue-router跳轉頁面的效果相比window和frame相比差太多了),按空格鍵選中,按回車完成選擇:

選擇css預處理器語言,選擇之后可以獲得預處理語言支持:

選擇eslint:

剩下的配置根據(jù)自己情況來設定,等待項目創(chuàng)建完成。
項目結構
項目結構如圖:
多頁面配置
項目根目錄下創(chuàng)建vue.config.js
const pages = require('./build/pages')
module.exports = {
publicPath: './',
pages: pages,
// 是否生成sourceMap文件
// 開發(fā)環(huán)境配置true,方便快速定位錯誤(APICloud控制臺輸出真的很難受)
// 生產(chǎn)環(huán)境配置false,構建速度更快,打包之后體積更小
productionSourceMap: true
}
項目根目錄下創(chuàng)建build文件夾,bulid文件夾下創(chuàng)建page.js
const glob = require('glob')
// 循環(huán)獲取文件并打包
console.log('獲取頁面文件中...')
// 讀取src/views下所有main.js,可根據(jù)自己的情況更改
const files = glob.sync('**/views/**/main.js')
const pages = {}
files.forEach(item => {
// 默認輸出到dis文件夾下,輸出格式為文件夾名(如果文件夾名為frame則為父文件夾名+frame).html
const items = item.split('/')
let page = items[items.length - 2]
const pageParent = items[items.length - 3]
if (page === 'frame') {
page = `${pageParent}Frame`
}
pages
相關文章
Vue??vuex配置項和多組件數(shù)據(jù)共享案例分享
這篇文章主要介紹了Vue??vuex配置項和多組件數(shù)據(jù)共享案例分享,文章圍繞Vue?Vuex的相關資料展開配置項和多組件數(shù)據(jù)共享的案例分享,需要的小伙伴可以參考一下2022-04-04
vue+springboot上傳大文件的實現(xiàn)示例
本文主要介紹了vue+springboot上傳大文件的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-04-04
用Axios Element實現(xiàn)全局的請求loading的方法
本篇文章主要介紹了用Axios Element實現(xiàn)全局的請求loading的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03
Vue+Element+Springboot圖片上傳的實現(xiàn)示例
最近在學習前段后分離,本文介紹了Vue+Element+Springboot圖片上傳的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下2021-11-11

