thinkjs连接mysql_ThinkJS入门+实例(实现认证权限等基本功能)

这是一篇关于ThinkJS框架的文章,因为网上对于该框架的介绍非常少,所以在这里通俗讲解一下自己对该框架基本的认识并且提供了一个练习基本功能的项目。

e83a103e7624852433ecc0e1aa4c7e5f.png

因为这是基于Node.js的框架,所以先带新手入门一点Node.js的知识。

Node.js简述

Node.js:简单的说Node.js就是运行在服务端的JavaScript。

Node.js安装配置 (介绍在window和Linux上的安装Node.js的方法)

官方文档介绍:

Node.js是一个基于Chrome V8引擎的JavaScript运行环境。

Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效。。事件驱动与异步IO

Node.js的包管理器npm,是全球最大的开源库生态系统。

认识包管理器npm(npm已经在安装Node.js的时候安装好了)

当我们在Node.js上开发时,会用到很多别人写的JavaScript代码。如果我们需要使用别人写的某个包,每次都根据名称搜索一下官方文档,下载代码,解压,再使用,非常繁琐。于是一个集中管理的工具应运而生:大家都把自己开发的模块打包后放到npm官网上,如果要使用,直接通过npm安装就可以直接使用,不管代码存在哪,应该从哪下载。

更重要的是,如果我们要使用模块A,而模块A又依赖于模块B,模块B又依赖于其他的模块,那么npm可以根据依赖关系,把所有依赖的包都下载下来并管理起来。否则,靠我们自己手动管理,肯定是麻烦又容易出错。

第一个Node程序

了解Node.js应用的几个组成部分:

引入required模块:我们可以使用require指令来载入Node.js模块。

创建服务器 :服务器可以监听客户端的请求,类似于Apache,Nginx等服务器。

接收请求和响应请求:服务器很容易创建,客户端可以使用浏览器或终端发送http请求,服务器接收请求后返回相应数据。

创建Node.js应用:

步骤一:引入required模块

使用require指令载入http模块,并将实例化的HTTP赋值给变量http,实例如下:

var http = require('http');

复制代码

步骤二:创建服务器

接下来我们使用 http.createServer() 方法创建服务器,并使用listen方法绑定8888端口。函数通过request,response参数来接收和响应数据。实例如下:

var http = require('http'); //请求Node.js自带的http模块,并且把它赋值给http变量

http.createServer(function (request, response) { //调用http模块提供的模块

// 发送 HTTP 头部

// HTTP 状态值: 200 : OK

// 内容类型: text/plain

response.writeHead(200, {'Content-Type': 'text/plain'});

// 发送响应数据 "Hello World"

response.end('Hello World\n');

}).listen(8888);

// 终端打印如下信息

console.log('Server running at http://127.0.0.1:8888/');

复制代码

Node.js后端框架

Express和Koa(典型框架)

Express:轻量灵活的的node.js 框架,可以快速的搭建应用,使用广泛。Express官方文档

Koa:由Express原班人马打造,致力于成为web应用和API开发领域中的一个更小、更富有表现力、更健壮的基石。通过利用async函数,koa帮你丢弃回调函数,并有力的增强错误处理。Koa官方文档

Express和Koa是node.js最基础的两个后端框架。因为构建一个app仍需要些很多脚手架代码,于是在他们基础上出现了很多其他框架来减少编写这类代码。(例如:ThinkJS,egg.js等)

ThinkJS

介绍:ThinkJS是一款面向未来开发的Node.js框架,整合了大量的项目最佳实践,让企业级开发变得简单、高效。从3.0开始,框架底层基于Koa2.x实现,兼容Koa的所有功能。

特性:

基于Koa2.x,兼容middleware

内核小巧,支持Extend、Adapter等插件方式

性能优异,单元测试覆盖程度高

内置自动编译、自动更新机制、方便快速开发

使用更优雅的async/await处理异步问题、不再支持*/yield方式

快速入门

借助ThinkJS提供的脚手架,可以快速的创建一个项目。为了可以使用更多的ES6特性,框架要求node.js的版本至少是6.x,建议使用LTS版本。

安装ThinkJS 命令

npm install -g think-cli

复制代码

安装完成后,系统中会有thinkjs命令(可以通过thinkjs-v查看think-cli版本号)

创建项目

thinkjs new demo //创建名为demo的项目

npm install //安装依赖

npm start //运行项目

复制代码

项目结构

默认创建的项目结构如下:

|--- development.js //开发环境下的入口文件

|--- nginx.conf //nginx 配置文件

|--- package.json

|--- pm2.json //pm2 配置文件

|--- production.js //生产环境下的入口文件

|--- README.md

|--- src

| |--- bootstrap //启动自动执行目录

| | |--- master.js //Master 进程下自动执行

| | |--- worker.js //Worker 进程下自动执行

| |--- config //配置文件目录

| | |--- adapter.js // adapter 配置文件

| | |--- config.js // 默认配置文件

| | |--- config.production.js //生产环境下的默认配置文件,和 config.js 合并

| | |--- extend.js //extend 配置文件

| | |--- middleware.js //middleware 配置文件

| | |--- router.js //自定义路由配置文件

| |--- controller //控制器目录

| | |--- base.js

| | |--- index.js

| |--- logic //logic 目录

| | |--- index.js

| |--- model //模型目录

| | |--- index.js

|--- view //模板目录

| |--- index_index.html

复制代码

基础功能

Config(配置)

实际项目中,肯定需要各种配置,包括:框架需要的配置以及项目自定义的配置。ThinkJS将所有的配置都统一管理,文件都放在src/config/目录下,并根据不同的功能划分为不同的配置文件。

config.js 通用的一些配置

adapter.js adapter配置 (数据库的配置)

router.js自定义路由配置

middleware.js middleware配置

validator.js 数据校验配置

extend.js extend 配置

配置格式

// src/config.js

module.exports = {

port: 1234,

redis: {

host: '192.168.1.2',

port: 2456,

password: ''

}

}

复制代码

配置值即可以是一个简单的字符串,也可以是一个复杂的对象,具体是什么类型根据具体的需求来决定。

使用配置

框架提供了在不同环境下不同的方式快速获取配置:

在ctx(上下文)中,可以通过ctx.config(key)来获取配置

在controller中,可以通过controller

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值