原创 Egg中使用DiyUpload實現圖片批量上傳

1. 在HTML文件中引入需要的文件。 <!-- 引入批量上傳的插件 --> <link href="/public/admin/diyUpload/css/webuploader.css" rel="stylesheet" type=

原创 原生JS實現魔方效果

給大家分享一個用原生JS實現的魔方效果,效果如下: 以下是代碼實現: <!DOCTYPE html> <html> <head> <title>原生JS實現魔方效果</title> <meta charset="utf

原创 Egg 中的定時任務

在項目開發中,有許多場景需要執行一些定時任務,Egg 提供了一套機制來讓定時任務的編寫和維護更加優雅。 1. 定時任務的使用場景 1. 定時上報應用狀態。 2. 定時從遠程接口更新本地緩存。 3. 定時進行文件切割、臨時文件刪除。   2

原创 Egg 中結合Mongoose操作Mongodb

1. 安裝模塊 npm i egg-mongoose --save 2. 配置 egg-mongoose 插件 // config/plugin.js 'use strict'; exports.ejs = { enable:

原创 Egg 結合 Cheerio 定時抓取數據

Cheerio 是 node.js 的抓取頁面的模塊,爲服務器特別定製的,快速、靈活、適合各種 Web 爬蟲程序,可以讓我們用 JQuery 語法來解析爬取的網頁數據。 1. 安裝模塊。 cnpm i cheerio --save 2.

原创 Egg 中獲取 POST 提交的數據

用過Koa的碼農都知道,在Koa中獲取POST提交的數據需要配置第三方的中間件,而Egg繼承於Koa,在這一方面做了優化,獲取POST提交的數據不需要再配置其它的中間件了,並添加了安全機制 CSRF 的防範,在Egg中獲取用戶提交的POS

原创 Egg 設置與獲取Session

Session是另一種記錄客戶狀態的機制,不同的是 cookie 保存在客戶端瀏覽器中,而session 保存在服務器上。 當瀏覽器訪問服務器併發送第一次請求時,服務器端會創建一個 session 對象,生成一個類似於 key,valu

原创 Egg 獲取路由傳參

Egg中獲取路由傳參與Koa差不多,主要的區別在於Egg中的控制器繼承於Controller,所以在獲取傳參的時候要修改 this 的指向,下面用一個實例來說明如何獲取路由傳參。 首先在app文件夾下的 router.js 中添加路由。

原创 Egg 中service定義與調用規則

Egg是一個標準的MVC框架,其中service就代表model層,專門用於和數據打交道,本篇將講解如何在egg中定義service並在controller中調用,以及service的一些相關規則。 1. 使用方法 首先在service文

原创 Egg 中使用模板引擎及引用靜態資源

egg-view-ejs 是 Egg 中比較常用的模板引擎,雖然性能不是很高,但是它的語法規則卻是極其的簡單,使用起來很方便,下面簡單介紹一下它的用法。 1. 安裝模板引擎 npm i egg-view-ejs --save 2. 在

原创 Egg 中獲取遠程的數據

Egg 提供了 this.ctx.curl 方法獲取遠程的數據,讓我們可以輕鬆的實現一個簡單的爬蟲功能,以下是一個使用的具體示例。 首先在config文件夾下的 config.default.js 中定義要獲取數據的域名。 'use s

原创 Mongoose 數據校驗

Mongoose爲了保證數據庫數據的一致性,提供了對數據校驗的功能,常用的校驗有以下這些: 1. required 必須傳入,用於任意類型 2. max   最大值,用於 Number 類型數據   3. min   最小值, 用於 Nu

原创 Mongoose索引、內置方法、靜態方法與實例方法

1. Mongoose 索引 索引是對數據庫表中一列或多列的值進行排序的一種結構,可以讓我們查詢數據庫變得更快,MongoDB 的索引幾乎與傳統的關係型數據庫一模一樣,這其中也包括一些基本的查詢優化技巧。 Mongoose 中除了以前創建

原创 Mongoose模塊化實踐

Mongoose爲操作MongoDB數據庫提供了很大的方便,在實際開發過程中,爲了保證可擴展與可維護性,通常會將Mongoose進行模塊化,下面記錄一個模塊化的實例,便於在以後的項目中複用。 1. 定義db.js,連接數據庫 var m

原创 MongoDB 高級查詢 aggregate 聚合管道

1. MongoDB 聚合管道簡介 使用聚合管道可以對集合中的文檔進行變換和組合,常用於多表關聯查詢、數據的統計。 db.COLLECTION_NAME.aggregate() 方法用來構建和使用聚合管道,下圖是官網給的實例,可以看出來聚