1. 程式人生 > >egg.js 使用與總結

egg.js 使用與總結

腳手架安裝

1、安裝

$ npm i egg-init -g
$ egg-init egg-example --type=simple
$ cd egg-example
$ npm i

2、啟動專案

npm run dev

然後瀏覽器開啟http://localhost:7001 就可以看到 “hellow,egg” 字樣說明執行成功。

基礎編寫

1、靜態資源(images,css,js等檔案)放到app/public 目錄即可;
2、模板渲染:
絕大多數情況,我們都需要讀取資料後渲染模板,然後呈現給使用者。故我們需要引入對應的模板引擎。
1). 先安裝對應的外掛 egg-view-nunjucks :

$ npm i egg-view-nunjucks --save

2). 開啟外掛:

// config/plugin.js
exports.nunjucks = {
  enable: true,
  package: 'egg-view-nunjucks'
};
// config/config.default.js
// 新增 view 配置
exports.view = {
  defaultViewEngine: 'nunjucks',
  mapping: {
    '.tpl': 'nunjucks',
  },
};

這裡寫圖片描述

這裡寫圖片描述

資料庫相連

基礎語法

1、controller 中指向頁面:

yield this.ctx.render(‘news/list.tpl’,datalist);

這裡寫圖片描述

2、頁面中迴圈:

  <ul>
    {% for item in list %}
    <li>
      <a href="{{item.url}}">{{item.title}}</a>
    </li>
    {% endfor %}
  </ul>

這裡寫圖片描述

3、控制器中獲取動態路由:

1). router.js 中配置路由

  router.get('/list/:id', controller.list
.checkId);

這裡寫圖片描述

2). controller 中獲取路由引數

  * checkId(){
     const {ctx} = this;
     ctx.body = `"您輸入的是:"+${ctx.params.id}`;
  }

這裡寫圖片描述

瀏覽器:
這裡寫圖片描述

4、控制器中傳參給頁面:

1). 控制器中定義引數的值

這裡寫圖片描述

2). 頁面獲取引數
這裡寫圖片描述

瀏覽器中:
這裡寫圖片描述

5、自定義工具類及其引用方法:

1). 在 app目錄下新建一個util的資料夾,這裡用來放置公用類
這裡寫圖片描述

2). 在 helper.js 中定義
這裡寫圖片描述

3). 在controller 中的js檔案裡使用
這裡寫圖片描述

瀏覽器:
這裡寫圖片描述