Có gì mới ở AdonisJs Web Framework/Node.js phiên bản v4.0
AdonisJs Web Framework
7
White

Lương Trưởng viết ngày 09/09/2018

Nội dung

  • Javascript ES6 (Language changes)
  • Directory structure
  • Routing
  • Request
  • Views
  • Models

Javascript ES6

Node.js v8.0 bổ sung lên đến 99% tính năng từ ES6, V8 engine nhận được nhiều cải tiến về hiệu suất.

# Sử dụng cú pháp mới async/await

Generator functions sử dụng từ khoá yield không còn được hỗ trợ, thay vào đó ta sử dụng async/await.

Điều này có nghĩa là tất cả function bắt đầu với * cần được thay thế bởi asyncyield sẽ được thay thé bởi await.
Cú pháp cũ

* index () {
  yield User.all()
}

Cú pháp mới

async index () {
  await User.all()
}

Trong AdonisJs v4.0, tất cả các route handle và controller action sẽ nhận một object thay vì nhận multiple parameters.

Route.get('/', function * (request, response) {

})

Mới

Route.get('/', async ({ request, response }) => {

})

Directory structure

├── app
│   ├── Commands
│   ├── Controllers
│   ├── Listeners
│   ├── Middleware
│   ├── Models
├── config
├── database
│   ├── migrations
│   ├── seeds
│   └── factory.js
├── node_modules
├── providers
├── public
├── resources
│   └── views
├── start
│   ├── app.js
│   ├── kernel.js
│   └── routes.js
├── .editorconfig
├── .env
├── .env.example
├── .gitignore
├── ace
├── package.json
├── package-lock.json
├── README.md
├── server.js
# bootstrap

Đổi tên bootstrap → start

#Controllers

Controllers và Http đổi chỗ cho nhau

app/Http/Controllers → app/Controllers/Http

#Models

Model có thêm chữ s

app/Model → app/Models

#routes.js

File routes.js được chuyển từ app/Http/routes.js tới start/routes.js

#kernel.js

File kernel.js chuyển từ app/Http/kernel.js tới start/kernel.js

Routing

#group

Cú pháp cũ

Route.group('auth', () => {

})

Cú pháp mới

Route.group(() => {

})
#Route.route

Cú pháp cũ

Route.route('/', ['GET', 'POST'], () => {

})

Cú pháp mới

Route.route('/', () => {

}, ['GET', 'POST'])

Request

#param/params

The param/params đã bị loại bỏ trong v4.0, thay vào đó sử dụng params object.

Route.get('users/:id', function (request) {
  const id = request.param('id')
})

Mới

Route.get('users/:id', function ({ params }) {
  const id = params.id
})

View

AdonisJs v4.0 mặc định sử dụng Edge template engine thay thế nunjucks
Tham khảo Edge edge.adonisjs.com/docs/getting-started

#response.sendView

response.sendView function đã bị thay thế bởi view.render.

Route.get('/', function * (request, response) {
  yield response.sendView('home')
})

Mới

Route.get('/',  ({ view }) => {
  return view.render('home')
})

Models

#extend

const Lucid = use('Lucid')

class User extends Lucid {

}

Mới

const Model = use('Model')

class User extends Model 

}

Tham khảo nguồn:
[1] https://scotch.io/tutorials/whats-new-in-adonisjs-40

[2] https://www.adonisjs.com/docs/4.0/upgrade-guide

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Lương Trưởng

10 bài viết.
1 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
3 1
Giới thiệu (Ảnh) Ngày 16/08/2015, Adonisjs Web Framework/Node.js được Harminder Virk (nickname: @amanvirk) công khai mã nguồn trên Github, còn phi...
Lương Trưởng viết 2 năm trước
3 1
White
2 0
AdonisJs là một Node.js framework được lấy cảm hứng từ Laravel Php Framework, xem so sánh ở (Link). (Ảnh) \ Nội dung Yêu cầu cài đặt AdonisJs ...
Lương Trưởng viết 2 năm trước
2 0
White
2 1
Bạn gặp khó khăn khi mới tiếp cận với AdonisJs hoặc không nhớ cú pháp hay là các Extension cài thêm không hoạt động chính xác, hãy để IntelliSense ...
Lương Trưởng viết 2 năm trước
2 1
Bài viết liên quan
White
2 0
AdonisJs là một Node.js framework được lấy cảm hứng từ Laravel Php Framework, xem so sánh ở (Link). (Ảnh) \ Nội dung Yêu cầu cài đặt AdonisJs ...
Lương Trưởng viết 2 năm trước
2 0
White
3 1
Giới thiệu (Ảnh) Ngày 16/08/2015, Adonisjs Web Framework/Node.js được Harminder Virk (nickname: @amanvirk) công khai mã nguồn trên Github, còn phi...
Lương Trưởng viết 2 năm trước
3 1
White
1 0
x] Bài viết này được thực hiện trên AdonisJs v4.1 | Ngày 06/01/2019 \ Các bước thực hiện 1. Factory 2. Seed \ Factory Đôi khi chúng ta cần d...
Lương Trưởng viết hơn 1 năm trước
1 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
10 bài viết.
1 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!