Programiranje

Kaj je novega v Rails 5.1: boljši JavaScript

Ruby on Rails, veteranski spletni strežniški okvir, se lepo poigrava z JavaScriptom v nadgradnji, ki se je nedavno preselila v prvo beta izdajo.

Rails 5.1 ponuja več izboljšav, vključno s šifriranjem, sistemskimi testi in upravljanjem odvisnosti JavaScript od NPM prek Facebookovega novega upravitelja paketov Yarn.

Z upravljanjem odvisnosti JavaScript prek Preje so uporabniki lahko odvisni od knjižnic, kot je React preko NPM. Sredstva so na voljo v cevovodu, binstub bin / preja pa se uporablja za dodajanje teh odvisnosti. Razvijalci, ki delajo z različico 5.1, lahko prek brskalnika Webpacker prevedejo tudi JavaScript s pomočjo paketnega paketa modulov Webpack. Toda Rails 5.1 spusti jQuery kot privzeto odvisnost. S prepisovanjem nevsiljivega skriptnega adapterja rails-ujs za uporabo vanilijevega JavaScript ta odvisnost ni več potrebna.

Rails 5.1 ima tudi zmožnost upravljanja šifriranih skrivnosti. Datoteka s šifriranimi skrivnostmi se nastavi z uporabo funkcije bin / rails secrets: setup, ki ustvari glavni ključ za shranjevanje zunaj repozitorija, razvijalcem pa omogoči, da objavijo proizvodne skrivnosti.

Za sistemske teste Rails 5.1 vključuje zavijanje knjižnice Capybara Ruby za testiranje aplikacij. Na voljo je vnaprej konfiguriran za brskalnik Chrome in izboljšan s posnetki zaslona. Funkcija parametriziranih pošiljateljev ponuja možnost, da pokličete pošiljatelje s parametri, ki so na voljo, preden se prikliče dejanje. Rails 5.1 poenostavlja ustvarjanje obrazcev z združevanjem dveh hierarhij, obrazec_za in form_tag, s obrazec_s. Funkcija usmerjenih poti medtem omogoča izjavo programskih poti, ki lahko uporabljajo Ruby za izvajanje funkcij, odvisno od parametrov.

"V preteklih letih smo imeli burne, morda celo sporne odnose z JavaScriptom. Toda ta čas je že minil," je zapisal bilten v izdaji 5.1.0, ki jo je napisal dhh, ki naj bi bil ustanovitelj podjetja Rails David Heinemeier Hansson. Bilten poudarja, da se je JavaScript v zadnjih letih "izjemno izboljšal" s prihodom ECMAScripta 6 in orodij, kot sta Preja in Webpack.

$config[zx-auto] not found$config[zx-overlay] not found