太阳集团5493conlogo

  • 微博
  • 微信
  • QQ好友
  • QQ空间
  • 百度
详细内容

使用 vue-cli 3.x 快速搭建「vue + ts + kbone + kbone-ui + 云开发」 项目-杭州网站建设制作网站优化为你转播

使用的工具和库

@vue/cli v4.1.1

vue-cli-plugin-kbone latest

kbone-ui latest

创建项目

关于 vue-cli 3.x 的使用请移步至Vue CLI官方文档查看

使用 vue-cli 3.x 可视化页面根据自己的需求创建一个 ts 空项目即可
因为我们是用 ts 开发微信小程序,所以需要安装微信小程序对应的 types
miniprogram-api-typings, 安装好后需要在 tsconfig.json 配置文件中的 types 节点添加对应的配置,最好是再加一个忽略校验 *.d.ts 的配置项,因为引入的 types 在编译时也会校验
    {  "compilerOptions": {    ...    "skipLibCheck": true,    "types": [      ...      "miniprogram-api-typings"    ],    ...  },  ...}

    集成Kbone

    Kbone 提供了 vue-cli 3.x 的插件,可以一键集成到 vue-cli 3.x 创建的项目中。

    在刚刚创建好的空项目中选择 插件 -> 添加插件 搜索 vue-cli-plugin-kbone 点击安装即可

    安装完成后会弹出配置页面

    • AppID 填写自己的小程序 AppID

    • 项目名 填写自己的项目名

    • Kbone 入口文件名称 填写为 main.mp.ts

    • 是否需要输出 app.js、project.config.json 等非页面相关文件 选择 不输出 project.config.json

    • 选择 app.wxss 输出配置 选择 输出默认标签样式

    • 选择是否自动构建依赖包 根据自己使用的工具选择 npmyarn

    • 是否需要使用 rem 建议开启其他的配置项默认即可,然后点击完成

    插件会自动生成 Kbone 的入口文件、配置文件、以及三条命令脚本

    入口文件

    入口文件就是我们刚才输入的 main.mp.ts ,位置在 src 目录下,根据自己创建项目时所安装的库进行修改
    例如我在创建时使用了 routervuex 这些需要在入口文件引入的,所以也需要在 main.mp.ts 中引入
      import Vue from 'vue'import App from './App.vue'import router from './router'import store from './store'
      Vue.config.productionTip = false
      // 需要将创建根组件实例的逻辑封装成方法export default function createApp () {  // 在小程序中如果要注入到 id 为 app 的 dom 节点上,需要主动创建  const container = document.createElement('div')  container.id = 'app'  document.body.appendChild(container)  return new Vue({    router,    store,    render: h => h(App)  }).$mount('#app')}

      配置文件

      配置文件为 miniprogram.config.js , 位置在项目根目录,其中的内容自行按需修改,对应的配置项可参考 Kbone 官方文档

      命令脚本

      插件会在 package.json 中生成的三条命令脚本,分别是 build:mpdev:mpmp
      因为我们后面需要再集成 云开发 所以命令需要做一点点修改,将打包目录修改为 dist/mp/miniprogram  build:mp  改为
        "build:mp": "cross-env MP_ENV=miniprogram vue-cli-service build --mode production --dest ./dist/mp/miniprogram/common"

        mp

          "mp": "cross-env MP_ENV=miniprogram vue-cli-service build --mode development --dest ./dist/mp/miniprogram/common --watch"

          集成Kbone-UI

          众期待的 Kbone-UI 终于发布了:官方文档
          可以继续使用 vue-cli 3.x 的可视化页面安装,也可以使用命令行安装
          安装完成后在 web 端的入口文件 main.tsKBone 入口文件 main.mp.ts 中引入 Kbobe-UI

          main.ts

            import Vue from 'vue'import App from './App.vue'import router from './router'import store from './store'import KboneUI from 'kbone-ui'import 'kbone-ui/lib/weui/weui.css'
            Vue.use(KboneUI)
            Vue.config.productionTip = false
            new Vue({  router,  store,  render: h => h(App)}).$mount('#app')

            main.mp.ts

              import Vue from 'vue'import App from './App.vue'import router from './router'import store from './store'import KboneUI from 'kbone-ui'import 'kbone-ui/lib/weui/weui.css'
              Vue.use(KboneUI)
              Vue.config.productionTip = false
              // 需要将创建根组件实例的逻辑封装成方法export default function createApp () {  // 在小程序中如果要注入到 id 为 app 的 dom 节点上,需要主动创建  const container = document.createElement('div')  container.id = 'app'  document.body.appendChild(container)  return new Vue({    router,    store,    render: h => h(App)  }).$mount('#app')}

              集成云开发

              完成上面步骤项目大致是可以跑起来了,但是 Kbone 是不支持 scoped 样式的,所以在项目中用到 scoped 样式的地方需要自己再改一下,这里就不细说了
              还有最重要的一点就是我们在集成 Kbone 时选择的是 不输出 project.config.json 也就意味着打包的时候不会生成 project.config.json 文件,原因也是因为 云开发 中需要在 project.config.json 中配置 miniprogramRootcloudfunctionRoot ,所以我们需要手动建一个 project.config.json 文件在项目根目录,如果不会建,那就在开发者工具中新建一个 云开发 项目,从里面拷一个吧
              project.config.json 文件创建完后,需要再在项目根目录创建一个 cloudfunctions 文件夹,用于存放 云开发 的代码,关于 云开发 的代码都放在这个文件夹下面就可以了,了解更多云开发能力请查看云开发文档
              上面的步骤完成后,还有最后一个关键步骤,配置 webpack 在打包项目时将 云开发 相关的代码也打包进去
              在项目根目录创建一个 vue.config.js 文件,添加以下代码
                const path = require('path')const CopyWebpackPlugin = require('copy-webpack-plugin')
                module.exports = {configureWebpack: config => {  if (process.env.MP_ENV === 'miniprogram') {    config.plugins.push(new CopyWebpackPlugin([      {        from: path.resolve(__dirname, './cloudfunctions'),        to: path.resolve(__dirname, './dist/mp/cloudfunctions'),        toType: 'dir'      },      {        from: path.resolve(__dirname, './project.config.json'),        to: path.resolve(__dirname, './dist/mp/project.config.json'),        toType: 'file'      }    ]))  }}}

                其配置的意思就是如果当前运行的环境变量是 miniprogram 那么就将 cloudfunctions 文件夹和 project.config.json 文件拷贝到小程序的打包目录,到这里就全部集成完了,可以开心的去码代码了~


                DEMO项目https://github.com/stephenml/kbone-ts-template


                本文为社区用户Stephen作品,投稿欢迎前往社区发表文章
                欢迎在 Github 提出 Issue 和 PR !
                关于 Kbone 你有什么使用问题或建议
                欢迎访问 #Kbone官方框架 社区发帖交流


                阅读原文


                1_副本.jpg

                太阳集团2138手机版
                更多
                • 2022 Q4 用户最喜爱的朋友圈广告-

                  2022 Q4 用户最喜爱的朋友圈广告-

                  基于用户的互动行为及广告效果数据指标,我们找出了2022年第四季度用户最喜爱的朋友圈广告TOP 10(排名不分先后),期待更多好创意与你相见。TOP朋友圈广告用

                • 生活特辑 Vol.14 ᅵ

                  生活特辑 Vol.14 ᅵ

                  Good Life生活广告榜吃喝玩乐品生活,发现身边新乐趣。快来看看本季最受欢迎的身边广告。今天“吃”什么?吃喝福利,任你选新的一年不如用味觉拉开序幕不知道吃什

                • 速速集合,新年红包封面领取攻略来了-杭州

                  速速集合,新年红包封面领取攻略来了-杭州

                  新年怎样发红包姿势最帅?当然是用上最炫的红包封面!今年,红包封面又又又升级啦,全新动态红包封面上线,祝福更“动”人心。微信广告将携手众多品牌派发多款精美别致的红

                • 视频号互选好内容|11月-杭州网络公司为

                  视频号互选好内容|11月-杭州网络公司为

                  精选11月优秀视频号互选案例,为创作者指引好内容的风向,洞悉好商单的秘诀。理想汽车× 所长林超通俗科普,干货满满科技自主的路上,理想汽车的答案是什么。所长观察敏

                • 微信创作者营销价值与营销策略白皮书发布-

                  微信创作者营销价值与营销策略白皮书发布-

                  腾讯广告互选平台始于内容致远商业一图读懂微信创作者营销方法论微信创作者四大特点长久创作,深耕原创内容长久创作87.2%公众号运营超过2年垂类丰富体育 媒体 财经

                • 精华笔记|2022 腾讯广告创作者营销峰

                  精华笔记|2022 腾讯广告创作者营销峰

                  12月22日,腾讯广告以直播形式举办首届创作者营销峰会(以下简称“峰会”)。无论对广告主 / 代理商,还是创作者 / MCN机构,今年的峰会可谓是“一场及时雨”

                • 烟花贺岁:朋友圈点赞互动广告上线-杭州微

                  烟花贺岁:朋友圈点赞互动广告上线-杭州微

                  新年有新喜,微信广告全新推出朋友圈点赞互动广告,让品牌和用户一起放烟花,迎新年。品牌领赞,首枚烟花惊喜绽放;用户跟赞,个性化品牌烟花跃然出框;双向互动中激发更强

                • 即刻预约|2022 腾讯广告创作者营销峰

                  即刻预约|2022 腾讯广告创作者营销峰

                  连接放大价值腾讯广告创作者营销峰会2022/12/22邀请函尊敬的嘉宾:在内容创作者的黄金时代,无数品牌借力优质内容开辟出了商业增长新路径。作为微信商业内容官方

                • 搞笑与搞钱,这些创作者都很认真-杭州网络

                  搞笑与搞钱,这些创作者都很认真-杭州网络

                  在微信视频号上有着许多视频创作者,他们因为热爱,而创作出非常多有趣的视频。然而每一个视频背后,创作者都要付出无数的心血和努力。当粉丝达到一定数量,也具备相对成熟

                • 朋友圈橱窗广告上线-杭州APP开发为你呈

                  朋友圈橱窗广告上线-杭州APP开发为你呈

                  微信广告上线朋友圈橱窗广告,满足广告主更丰富的素材展示诉求。广告支持配置一个主素材和三个副素材,组合形式突破原生形态,更易吸引用户停留点击。朋友圈橱窗广告示意橱

                太阳集团5493con是一家专门致力于为企业提供全方位网站建设服务。年轻的我们带着梦想和对网络的热情走在互联网道路的前沿,一路走来,我们的努力和真诚得到了更多客户的认可。在未来的发在未来的发...

                浙公网安备:33010602011153

                seo seo