太阳集团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 输出配置 选择 输出默认标签样式

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

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

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

    入口文件

    入口文件就是我们刚才输入的 main.mp.ts ,位置在 src 目录下,根据自己创建项目时所安装的库进行修改
    例如我在创建时使用了 router 和 vuex 这些需要在入口文件引入的,所以也需要在 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:mp 、 dev:mp 和 mp
      因为我们后面需要再集成 云开发 所以命令需要做一点点修改,将打包目录修改为 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.ts 和 KBone 入口文件 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 中配置 miniprogramRoot 和 cloudfunctionRoot ,所以我们需要手动建一个 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手机版
                更多
                • Q3财报:有「新」有「增」-杭州网络公司

                  Q3财报:有「新」有「增」-杭州网络公司

                  腾讯2024年第三季度财报显示,期内:微信及WeChat的合并月活跃账户数13.82亿。财报还提到:视频号得益于广告主对视频号、小程序及微信搜一搜广告库存的强劲

                • 微信小店助手APP来啦,方便得很!-杭州

                  微信小店助手APP来啦,方便得很!-杭州

                  一个好消息!微信小店助手APP已正式上架各大应用市场,安卓/iOS都可!商家经营更方便啦~核心功能速览——1、小店的管理,移动端都能搞定支持在移动端进行商品、交

                • 港澳小程序交易翻倍,有商家月入八位数!-

                  港澳小程序交易翻倍,有商家月入八位数!-

                  10月24日,微信公开课·港澳专场在香港举办。聚焦于 “双向奔赴:新生态、新机遇” 这一主题,微信团队以及深耕港澳小程序的标杆商家、服务商齐聚,一起探讨了大湾区

                • 4个月销售额翻10倍,这家小众户外品牌怎

                  4个月销售额翻10倍,这家小众户外品牌怎

                  微信小店 Lafuma户外热这个小众品牌如何在视频号破圈?首场达播试水,销售额突破300万平均客单价1800元常态化直播带货,4个月实现月销售额翻10倍数据来自

                • 微信小店11.11好物节即将启动!三大带

                  微信小店11.11好物节即将启动!三大带

                  微信小店 11.11 好物节活动激励计划低门槛 高激励主播作为带货主播报名活动,并选择“购物”类目开播,累计成交数据满足对应目标门槛,即可在活动结束后获得对应电

                • 这个爬山搭子,十几万黄山游客都在用-杭州

                  这个爬山搭子,十几万黄山游客都在用-杭州

                  国庆假期就要来了,有人想去爬黄山吗?琐事缠身的你可能还没来得及做攻略,又或者没订到合适的酒店……没关系!现在,@黄山旅游官方平台 通过企业微信、小程序、视频号等

                • 小程序,玩法上“新”!-杭州抖音短视频直

                  小程序,玩法上“新”!-杭州抖音短视频直

                  这波上“新”,是新加坡的“新” !9月23日,微信公开课·新加坡专场启幕,微信团队奔赴狮城,携手新加坡旅游局以及当地多家标杆企业,一起探讨小程序在跨境生态下的新

                • 官宣:微信小店新商家激励政策-杭州微信小

                  官宣:微信小店新商家激励政策-杭州微信小

                  五大激励政策助力新商家成长微信小店新商家激励政策血降门槛0保证金试运营减成本前百万自营交易额的技术服务费率减至1%刘促增长新商家成长流量激励加福利开通运费险享「

                • 如何做出NB的视频号?-杭州网络公司为你

                  如何做出NB的视频号?-杭州网络公司为你

                  @闪电制片厂 @国翠儿 @时差岛 @王可乐说这些NB的视频号你刷到过吗?最近,他们和视频号一起在NB的城市宁波聚会,现场分享了创作秘籍,视频号官方和大家交流了短

                • 又贵又火,之禾视频号年销3000万-杭州

                  又贵又火,之禾视频号年销3000万-杭州

                  3000多的牛仔裤,5000一件的亚麻衬衫,上万一条的桑蚕丝连衣裙……来自上海的时装品牌之禾因为高定价而出圈,并且业绩还在持续攀升。曾有外媒报道称,2022年,

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

                浙公网安备:33010602011153

                seo seo