本文使用node.js和express来为小程序搭建服务器。node.js简单说是运行在服务端的javascript;而express是node.js的一个Web应用框架,使用express可以非常简单快捷地搭建起网站。


0、背景

官方要求小程序的包最多不能超过2M,减小小程序包大小最有效的方法就是将本地图片上传至服务器。
本文搭建服务器,以小程序从后台获取图片为例,实现小程序与后台的通信。
小程序采用这篇教程mpvue从一无所有开始仿大众点评小程序中的demo(但图片均移动到了public/images),
可以从这里下载项目文件


1、开发准备

要搭建小程序后台有两种选择
(1)购买云服务器。详细可见这里。
(或直接使用云开发,云开发是小程序在2018.9新增的功能,详细可见这里)
(2)使用代理服务器,可实现搭建本地服务器,进行本地开发调试。
例如使用charels进行反代理,教程可见:mac版、win版

注意映射的线上域名和服务器端口要与实际设置的一致。比如这里采用的线上域名为https://wx.test.cn,搭建的服务器端口为localhost:3000


2、安装Express

按以上两种方法搭建好服务器后,在服务器上安装好Node.js,打开命令行:

npm install -g express@3
npm install express-generator --save -g

选择一个工作目录,打开命令行运行:

mkdir server
cd server
express  -e
npm install

安装完成后输入:

npm start

此时便用Express搭建了一个服务器并监听端口3000。可以用浏览器打开localhost:3000或https://wx.test.cn/进行访问。


3、路由控制

初始化项目后,一般工程结构如下

server
├── node_modules
├── public
├── routes
├── view
├── app.js
└── package.json

我们这里只要关心app.jspublic

  • app.js是工程的入口文件,待会我们在这里编写路由控制;
  • public是存放各种资源的文件夹,这里可以保存image、css、javascript等文件

    (1)首先我们将从这里下载项目文件中的public文件夹,与原public文件夹合并;
    (2)然后打开app.js,在app.use('/users', usersRouter);后添加

app.get('/public/images/*', function (req, res) {res.sendfile( __dirname + "/" + req.url );console.log("Request for " + req.url + " received.");})

这段命令的意思是当客户端用get命令请求/public/images/下的资源时,服务器将对应的图片资源传送过去。
(3)中断原先的进程,再次运行:

npm start

我们可以在浏览器上打开网址https://wx.test.cn/public/images/my/user.png,测试是否可以请求到图片。

将小程序中原先指向本地图片的链接均改为指向服务器的图片。

此时使用微信开发者工具再次打开小程序,即可看到完整的页面。同时也可以进行预览发布

转载于:https://www.cnblogs.com/Gavin257/p/11001612.html

nodejs+express搭建小程序后台服务器相关推荐

  1. 华为服务器微信公众号,记录:华为配置小程序后台服务器

    # 记录:华为配置小程序后台服务器 ## 零.前言 之前做个一个RSS阅读器的微信小程序,还取了个名字:**真简阅读器**,后端由腾讯云驱动,最近刚好到期了,就迁移到了华为云.最明显的不同就是华为云默 ...

  2. 文件服务器s3搭建,用AWS S3搭建小程序资源服务器

    写在前面(2020.2),由于我已经有一个网站使用的是AWS S3的图片资源,所以想在小程序中使用同样的.但是遇到了各种困难,磨难和坑,本篇为大家介绍我的解决方案,适合想用小程序+S3的同学. 用到的 ...

  3. express 文件服务器,Express搭建一个简单后台服务器

    Express框架 Web 应用程序 Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能. API 使用您所选择的各种 ...

  4. SpringBoot+mysql搭建微信小程序后台(4)服务器搭建

    此前后端代码只能在本地运行,不能在其他设备,联网访问,而搭建配置服务器后,把项目放在服务器运行,就可以通过服务器来访问我们的项目,如网站,作小程序数据接口等 本文采用的是阿里云ECS服务器,可根据自己 ...

  5. 微信小程序后台服务怎么搭建

    小程序是目前最大的流量风口,与APP不同的是小程序的便捷,也就是小程序的核心竞争力与理念,不过小程序和APP的相同点都是属于应用,因此需要后台服务的支持,微信小程序的后台搭建常用到腾讯云,包括云数据库 ...

  6. filezilla 设置服务器_java项目部署到linux服务器,微信小程序后台springboot项目部署到腾讯云服务器(图文详解)...

    前面给大家讲了一个点餐系统的开发,包括java点餐后台和微信点餐小程序.可是都是教大家如何在本地把项目跑起来.今天就来教大家如何把这个点餐系统部署到服务器,实现商用. 传送门 点餐系统的开发,java ...

  7. springboot 获取登录浏览器_java项目部署到linux服务器,微信小程序后台springboot项目部署到云服务器(图文详解)...

    前面给大家讲了一个点餐系统的开发,包括java点餐后台和微信点餐小程序.可是都是教大家如何在本地把项目跑起来.今天就来教大家如何把这个点餐系统部署到服务器,实现商用. 传送门 点餐系统的开发,java ...

  8. 基于腾讯云服务器部署微信小程序后台服务(Python+Django)

    一 前言 微信小程序,相信大家早已熟知,它是一种无需下载安装即可使用的轻型应用,具有跨平台和接近Native App性能体验的优势.从开发模式上说,它是前后端分离的,微信小程序负责实现前端应用,后端服 ...

  9. nodeJS+express+mysql模块封装之服务器渲染小demo

    nodeJS+express+mysql模块封装之服务器渲染小demo 创建一个小项目 npm init 下载相关中间件(根据package.js来下载) package.js 目录结构 index. ...

最新文章

  1. C++11中头文件type_traits介绍
  2. BaseControl按钮合集
  3. 中山大学 精品课程C++ 视频教学 共51讲
  4. “约见”面试官系列之常见面试题第五篇说说vuex登录信息(建议收藏)
  5. python 打开exe获取窗口句柄_使用Python快速启动多个PC客户端
  6. 拿来吧你! | 从入门到精通docker ,都在这里了
  7. (转载)mysql查询今天、昨天、7天、近30天、本月、上一月数据
  8. 使用 python 在多个word文件中提取关键字
  9. QT cmd强制删除文件
  10. 使用redis缓存技术实现省市区三级联动
  11. 保持精力充沛工作的14个习惯
  12. 【python+selenium】自动登陆青果教务系统
  13. php+date+timezoe,ffmpeg.php
  14. OpenGL学习---高级光照---法线贴图
  15. eclipse4.6安装tomcate插件 Eclipse4.6(neno)配置Tomcat插件的两种方式
  16. 【SAP PO】SAP PO 接口配置完整教程之二REST服务对接
  17. 网球爱好者小程序的设计与实现
  18. 怎么把服务器信号投到笔记本电脑上,手把手教您,如何将笔记本电脑的信号画面无线投屏到投影机或电视上显示...
  19. Docker创建容器时指定IP
  20. 如何计算俩日期相隔多少年,多少月,多少天或者两时间相差XX年XX月XX日

热门文章

  1. 2021年最新Java学习路线图
  2. JavaScript 实现表格隔行变色
  3. matlab绘图学习(绘制图形的辅助操作)
  4. LDA主题模型1——数学基础
  5. Mac下brew的安装
  6. 企业级别应用--GFS分布式文件系统(GlusterFS工作原理、弹性 HASH 算法 、GlusterFS卷的类型、 部署GlusterFS)
  7. Tensorflow学习之tf.keras(一) tf.keras.layers.BatchNormalization
  8. transferTo和transferFrom
  9. Criteria用法的小结
  10. Release版本发行说明