Vue+koa2开发一款全栈小程序(5.服务端环境搭建和项目初始化)

1.微信公众平台小程序关联腾讯云

腾讯云的开发环境是给免费的一个后台,但是只能够用于开发,如果用于生产是需要花钱的,我们先用开发环境吧

1.用小程序开发邮箱账号登录微信公众平台

2.【设置】→【开发者工具】→第一次是git管理,开启腾讯云关联

3.会一路跳转到腾讯云的【开通开发环境】的流程要走

1.已经完成

2.下载安装微信开发者工具,也已经下载安装了

3.下载Node.js版本Demo

将demo中的server文件夹,复制到mpvue项目中

在项目下的project.config.json中,增加代码:

"qcloudRoot":"/server/",

在server文件夹下的config.js中,在pass后填写Appid

然后在微信开发者工具中,打开项目,点击右上角的【腾讯云】→【上传测试代码】

首次上传选【模块上传】,然后如图把相应的地方勾选,以后就选智能上传就可以了。

2.搭建本地环境

1.安装MySQL数据库

2.配置本地server文件夹下的config.js,加入配置代码

    serverHost: ‘localhost‘,
    tunnelServerUrl: ‘‘,
    tunnelSignatureKey: ‘27fb7d1c161b7ca52d73cce0f1d833f9f5b5ec89‘,
      // 腾讯云相关配置可以查看云 API 秘钥控制台:https://console.cloud.tencent.com/capi
    qcloudAppId: ‘你的appid‘,
    qcloudSecretId: ‘你的云api秘钥id‘,
    qcloudSecretKey: ‘你的云api秘钥key‘,
    wxMessageToken: ‘weixinmsgtoken‘,
    networkTimeout: 30000,

获取云api秘钥id和key地址:https://console.cloud.tencent.com/capi
获取appid的地址:https://console.cloud.tencent.com/developer

3.新建cAuth数据库

打开MySQL控制台,执行命令

create database cAuth;

数据库名cAuth,是与server项目中保持一致。

如果本地的MySQL设置了密码,将server文件下的config.js中的数据库密码配置,填写你mysql数据库的密码

4.启动server服务端

打开cmd,cd到server项目目录下,执行

cnpm install
cnpm install -g nodemon

5.测试一下本地环境是否搭建好了

在server项目下controllers目录下,新建demo.js文件

module.exports=async(ctx)=>{
    ctx.state.data={
        msg:‘hello 小程序后台‘
    }
}

在server项目目录下的router目录下的index.js中添加路由

router.get(‘/demo‘,controllers.demo)

然后执行运行server项目的命令

npm run dev //启动server项目

浏览器访问

http://localhost:5757/weapp/demo

.

3.项目初始化

1.新建mpvue项目 打开cmd,cd到想要存放项目的目录下

cnpm install -g vue-cli   //安装脚手架
vue init mpvue/mpvue-quickstart mydemo
Project name mydemo
wxmp appid //登录微信小程序后台,找到appid
//然后全都默认即可

cd mydemo
cnpm install
npm run dev//启动新建的mpvue项目

2.用vscode打开mydemo项目

1.将图片素材库文件夹img复制到mydemo/static目录下

2.在src目录下,新建me目录,目录下新建mian.js和index.vue

main.js代码

import Vue from ‘vue‘
import App from ‘./index‘

const app = new Vue(App)
app.$mount()

index.vue

<template>
    <div>
        个人中心页面
    </div>
</template>
<script>
export default {

}
</script>
<style>

</style>

3.在src目录下,新建books目录,目录下新建mian.js和index.vue

main.js代码

import Vue from ‘vue‘
import App from ‘./index‘

const app = new Vue(App)
app.$mount()

index.vue代码

<template>
    <div>
        图书页面
    </div>
</template>
<script>
export default {

}
</script>
<style>

</style>

4.在src目录下,新建comments目录,目录下新建mian.js和index.vue

main.js代码

import Vue from ‘vue‘
import App from ‘./index‘

const app = new Vue(App)
app.$mount()

index.vue代码

<template>
    <div>
        评论过的书页面
    </div>
</template>
<script>
export default {

}
</script>
<style>

</style>

嗯,是的,3,4,5步骤中,main.js 的代码是一样的,index.vue代码基本一样

5.防止代码格式报错导致项目无法启动,先到项目目录下的build目录下的webpack.base.conf.js中,将一段配置代码注释掉

6.在mydemo项目下的app.json中修改添加配置代码

app.json代码

{
  "pages": [
    "pages/books/main", //将哪个页面路径放第一个,哪个页面就是首页,加^根本不好使,而且还报错
    "pages/comments/main",
    "pages/me/main",
    "pages/index/main",
    "pages/logs/main",
    "pages/counter/main"
  ],
  "window": {
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#EA5149",
    "navigationBarTitleText": "蜗牛图书",
    "navigationBarTextStyle": "light"
  }

}

7.在cmd中重启mydemo项目,在微信开发者工具中打开

3.底部导航

1.微信公众平台小程序全局配置文档地址

https://developers.weixin.qq.com/miniprogram/dev/framework/config.html#全局配置

2.根据官方文档,在app.json填写底部导航配置代码

{
  "pages": [
    "pages/books/main",
    "pages/comments/main",
    "pages/me/main",
    "pages/index/main",
    "pages/logs/main",
    "pages/counter/main"
  ],
  "window": {
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#EA5149",
    "navigationBarTitleText": "蜗牛图书",
    "navigationBarTextStyle": "light"
  },
  "tabBar": {
    "selectedColor":"#EA5149",
    "list": [{

      "pagePath": "pages/books/main",
      "text": "图书",
      "iconPath":"static/img/book.png",
      "selectedIconPath":"static/img/book-active.png"
    },
    {

      "pagePath": "pages/comments/main",
      "text": "评论",
      "iconPath":"static/img/todo.png",
      "selectedIconPath":"static/img/todo-active.png"
    },
    {

      "pagePath": "pages/me/main",
      "text": "我",
      "iconPath":"static/img/me.png",
      "selectedIconPath":"static/img/me-active.png"
    }
  ]
  }

}

3.效果图

4.代码封装

1.打开cmd,cd到server下,运行后端

npm run dev

2.在mydemo/src 目录下,新建config.js

//配置项

const host="http://localhost:5757"

const config={
    host
}
export default config

3.在src目录下新建until.js

//工具函数

import config from ‘./config‘

export function get(url){
    return new Promise((reslove,reject)=>{
        wx.request({
            url:config.host+url,
            success:function(res){
                if(res.data.code===0){
                    reslove(res.data.data)
                }else{
                    reject(res.data)
                }
            }
        })
    })
}

4.App.vue中添加代码

<script>
import {get} from ‘./until‘

export default {
  async created () {
    // 调用API从本地缓存中获取数据
    const logs = wx.getStorageSync(‘logs‘) || []
    logs.unshift(Date.now())
    wx.setStorageSync(‘logs‘, logs)

    const res=await get(‘/weapp/demo‘)
    console.log(123,res)
    console.log(‘小程序启动了‘)
  }
}
</script>

<style>
.container {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 200rpx 0;
  box-sizing: border-box;
}
/* this rule will be remove */
* {
  transition: width 2s;
  -moz-transition: width 2s;
  -webkit-transition: width 2s;
  -o-transition: width 2s;
}
</style>

5.在微信开发者工具中,在右上角点击【详情】,勾选不校验合法域名

6.运行mydemo

npm run dev

5.使用ESLint自动规范代码

1.将mydemo/build/webpck.base.conf.js中之前注释的代码恢复

2.在mydemo项目下的package.json中的“lint”配置中加入--fix

3.执行代码,规范代码

npm run lint//如果一般的格式错误,就会自动修改,如果有代码上的错误,则会报出位置错误

4.执行运行代码

npm run dev

发现已经不报错啦!

原文地址:https://www.cnblogs.com/xuepangzi/p/9744031.html

时间: 2024-10-24 05:24:55

Vue+koa2开发一款全栈小程序(5.服务端环境搭建和项目初始化)的相关文章

Vue+koa2开发一款全栈小程序(1.课程介绍+2.ES6入门)

1.课程介绍 1.课程概述 1.做什么? Vue+koa2开发一款全栈小程序 2.哪些功能? 个人中心.图书列表.图书详情.图书评论.个人评论列表 3.技术栈 小程序.Vue.js.koa2.koa-router.mysql 2.课程亮点 1.项目前后端分离开发 Vue+koa2开发一款全栈小程序 2.完整流程,一步不少 注册小程序账号,前后端开发,打包,正式上线 2.小程序环境搭建 1.后台地址: https://mp.weixin.qq.com/ 2.文档地址: https://develo

Vue+koa2开发一款全栈小程序(8.图书列表页)

1.图书列表页获取数据 1.在server/routes/index.js中新增路由 router.get('/booklist',controllers.booklist) 2.在server/controllers下新增booklist.js const {mysql}=require('../qcloud') module.exports=async(ctx)=>{ const books=await mysql('books').select('*').orderBy('id','des

微信小程序云开发-从0打造云音乐全栈小程序

第1章 首门小程序“云开发”课程,你值得学习本章主要介绍什么是小程序云开发以及学习云开发的重要性,并介绍项目的整体架构,真机演示项目功能,详细介绍整体课程安排.课程适用人群以及需要掌握的前置知识.通过本章的学习,能够使大家对本门课程有一个整体的了解.... 第2章 云开发介绍以及从0构建项目本章会详细介绍小程序云开发与Serverless,并介绍如何开通小程序云开发及控制台的功能,并且初始化项目代码,讲解airbnb/javascript代码规范. 第3章 播放列表功能实现本章完成歌单列表与歌曲

从零开发一款自己的小程序UI组件库(二)

写在前面:从零开发一款自己的小程序UI组件库(一) 上节我们讲到初始化组件库模板.模板文件概述.模板上传npm以及npm包文件下载至本地并运用到项目.这节我们继续,内容主要有基础UI组件库的搭建(button组件的实例)以及如何在本地使用npm link调试npm包项目. 本节所用到的物料:mineui-weapp组件库v1.1.weapp-for-mineui程序v1.1 1.开发基础组件button 我们上节有提到,要开发组件库的话,需要在官方单组件模板的基础上,①修改tools目录下的co

微信小程序腾讯云环境搭建

一.需要有微信公众号 这一步不多说了,百度搜索微信公众号注册. 二.申请小程序账号 (下面选自https://mp.weixin.qq.com/debug/wxadoc/dev/quickstart/basic/getting-started.html#编译预览) 开发小程序,你需要拥有一个小程序帐号,通过这个帐号你就可以管理你的小程序. 跟随这个教程,开始你的小程序之旅吧! 申请帐号 点击 https://mp.weixin.qq.com/wxopen/waregister?action=st

【微信小程序】---线上环境搭建

一.前言 通常我们在本地电脑上开发微信小程序,调用和访问小程序会有很多问题.特别是在配有自己后端的情况下,我们通过真机访问我们的小程序会出现不可访问的问题 二.线上环境搭建 在这里我们主要以腾讯云给大家做演示 1.注册并登陆腾讯云   https://cloud.tencent.com/ 2.上传代码 a.把客户端代码和服务端代码放置在微信小程序目录下 b.将客户端代码放置到client文件加中,服务端代码放置在server文件加中 c.把原微信小程序project.config.js文件转移到

Vue环境搭建和项目初始化(windows)

1.    安装node.js 官网下载安装:https://nodejs.org/en/ 版本查看:node -v 注意:node版本最好新一点好,推荐6.0以上. 2.    npm安装webpack a)     命令 npm install -g webpack //全局安装 npm install -g webpack-dev-server //安装调试工具 b)     Webpack安装权限问题 如果出现上图所示错误说明用户权限受限,使用管理员权限打开命令提示符(或node.js

python学习笔记——贰之购物车小程序_服务端

服务端大概流程:商家系统 用户可以对商品信息 进行 添加 和 修改,修改包括 删除 和修改功能首先读取文件中的商品信息,转化为列表,然后通过提示 对列表进行操作,最后将列表转成字符串保存到文本当中. 商品信息的文件格式没错就是多个两个逗号,暂时没有好的方法, ['Iphone', 5800],['Mac Pro', 9800],['Bike', 800],['Watch', 10600],['Coffee', 31],('pro', 1899), , #读取商品列表f = open('s1.tx

云开发初探 —— 更简便的小程序开发模式

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由李成熙heyli发表于云+社区专栏 李成熙,腾讯云高级工程师.2014年度毕业加入腾讯AlloyTeam,先后负责过QQ群.花样直播.腾讯文档等项目.2018年加入腾讯云云开发团队.专注于性能优化.工程化和小程序服务. 小程序诞生以来,业界关注小程序前端的技术演进较多,因此众多小程序前端的框架.工具也应运而生,前端开发效率大大提高,而后台的开发技术则关注不多,痛点不少,具体痛在哪里呢? 小程序后台开发之痛 第一个是脑袋瓜疼,怎么疼