Сервертэй ажиллах бэлтгэл

Vuejs сервертэй хэрхэн ажиллах талаар судлая. Vuejs сервертэй ажиллах ажиллагаанд онцгой зүйлүүд ердөө байхгүй. Vuejs нь өөрөө javascript сан учраас сервертэй ажилладаг дурын javascript санг ашиглаж болохын дээр өөрсдөө ч бичиж болно. Жишээ нь сервертэй ажиллахын тулд jquery -г оруулан ajax -ыг эсхүл axois -ийг ашиглаж болно. Бид хичээлдээ Vuejs -ээр сервертэй ажиллахад зориулан боловсруулсан vue-resource хэрэгслийг ашиглах болно. Сервертэй ажиллах жишээнүүдийг хоосон төслөөс эхлүүлье.

Өөрөөр хэлбэл төсөлд

import Vue from 'vue'
import App from './App.vue'

new Vue({
  el: '#app',
  render: h => h(App),
})

агуулгатай main.js файл

<template>
  <div class="container">

  </div>
</template>

<script>
  export default { }
</script>

агуулга бүхий App.vue файлууд л байгаа. Үүний дээр өмнөх хичээлүүдэд ашигласан bootstrap 4 -ийг index.html файлд оруулан өгсөн байгаа. Төслөөс сервертэй ажиллахын тулд vue-resource санг GitHub -аас татан суулгая. Үүний тулд vue-resource гэж бичээд google -ээр хайлгаад эхний олдоц л таныг GitHub эсхүл Npm -ийн сайтад шилжүүлнэ.

Сайтад Vuejs зориулагдсан веб шаардлагыг /request/ илгээн, хүлээн авахад зориулагдсан пакет болохыг дурдаад хэрхэн суулгах командыг заасан байгаа. npm пакетаар суулгаж буй пакетуудын зориулалт, тохиргоо гэх мэт бичиг баримтуудыг үзэн илүү өргөн хүрээтэй мэдээллийг авахыг зөвлөе. Терминалын цонхонд пакетыг суулгах npm install vue-resource командын араас --save опцийг нэмэн бичээд Enter товчийг даран пакетыг суулгая.

Пакетыг бид боловсруулалтын болоод төслийн бүтээгдхүүн хувилбарт ашиглах учраас npm install vue-resource --save командаар суулгаж байгаа хэрэг. Өөрөөр хэлбэл пакетыг төслийн үндсэн хамаарал байдлаар гэсэн үг. Үүнийг пакетыг суулгасны дараа package.json файлаас хараарай.
Төсөлд сервертэй ажиллах пакетыг суулгасан тул одоо бидэнд ямар нэгэн backend сервер хэрэгтэй. Зарчмын хувьд backend серверээр дурын програмыг ашиглаж болно. Жишээ нь php, python, java дээр бичигдсэн эсхүл өөрсдөө бичсэн ямарч сервер байж болох ч эдгээрийн суулгалт, тохиргоо нилээд хугацаа авах тул компьютерт локалаар суун ажилладаг json server -ийг ашиглах болно. Учир нь json server -ийг суулгах, тохируулах ажиллагаа маш амархан тул сургалтын зорилгод яг тохирно. Серверийг суулгахын тулд google -ийн хайлтын мөрөнд json server гэж бичээд хайлт хийхэд эхний олдоц л таныг серверийн GitHub хуудаст хүргэнэ.

Хэрвээ таны компьютерт json-server суугаагүй бол терминалын цонхыг нээгээд серверийг глобалаар суулгах npm install -g json-server командыг өгөх хэрэгтэй. Компьютертаа json-server суусан эсэхийг терминалаас json-server -v командыг

өгөн шалган үзээрэй. Сервер суугаагүй бол npm install -g json-server командыг өгөн

серверийг глобалаар суулгаад дараа нь төслийн хавтас дотроос npm install --save-dev json-server командыг өгөн пакетыг боловсруулалтын хамаарал хэлбэрээр суулгаарай.

Өөрөөр хэлбэл json-server төслийн бүтээгдхүүн багцад орохгүй гэсэн үг. Сервер суусны дараа түүнийг ажиллуулах json-server --watch db.json командыг сайтаас хуулан аваад төслийн package.json файлын scripts обьектод

  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint",
    "server": "json-server --watch db.json"
  },

"server": "json-server --watch db.json" мөрийг нэмэн өгье. Ингэснээр npm run server командаар серверийг ажлуулах боломжтой болно. Үүний дараа scripts обьектод нэмэгдсэн server талбарт заагдсан db.json файлыг төслийн хавтаст үүсгээд серверийн ажиллагааг шалгах үүднээс

cars обьектыг тодорхойлон өгье. Төслийн фронт хэсгийг терминалаас npm run serve командаар эхлүүлдаг. Харин json-server хоёрдахь сервис хэлбэрээр ажиллах тул шинэ терминалын цонхыг нээгээд түүнд npm run server командыг өгвөл

сервер http://localhost:3000 хаягаар ажиллаж эхэлсэн мэдээллийг өгөхийн зэрэгцээ db.json файлд нэмсэн cars обьектод http://localhost:3000/cars хандах холбоосыг үзүүлнэ. http://localhost:3000/cars холбоосоор хандвал

db.json файлд нэмсэн cars обьектыг үзүүлнэ. Серверийн ажиллагааг шалгасан тул cars массивийг хоосон болговол json-server өгөгдлийн сангийн өөрчлөлтийг шууд мэдрэнэ. Одоо http://localhost:3000/cars хаягаар хоосон массивийг харуулна. Өөрсдөө шалгаад үзээрэй. Төслөөс сервертэй ажиллахын тулд main.js файлд

import Vue from 'vue'
import VueResource from 'vue-resource'
import App from './App.vue'

Vue.use(VueResource)

new Vue({
  el: '#app',
  render: h => h(App),
})

vue-resource пакетыг импортлон аваад санг ашиглахын тулд Vue глобал обьектын use аргад VueResource -ийг дамжуулах ёстойг мэднэ. Ингэснээр манай төсөл өгөгдлийн сантай ажиллахад бүрэн бэлэн боллоо.

Мэдээлэл таалагдсан бол найзуудтайгаа хуваалцаарай.

  Нээгдсэн тоо: 504 Бүртгүүлэх

Хичээлээр react компонентийн элементүүдийн хэвжүүлэлтэд хэрэг болох нэгэн аргачлалыг авч үзье. Тухайлбал элементийг inline -аар хэвжүүлэлтийн үед ашиглах техник юм. Иймээс Car компонентийн хэвжүүлэлтийн Car.css файлаас

.Car {
  margin-bottom: 10px;
  display: block;
  padding: 10px;
  border-radius: 5px;
}

border, box-shadow хэвүүдийг хасан тэдгээрийг Car компонентод inline -аар хэвжүүлэлтээр

  const style = {
    border: '1px solid #ccc',
    boxShadow: '0 4px 5px 0 rgba(0, 0, 0, .14)'
  }
  return (
    <div className="Car" style={style}>
      <h3>Машиний нэр: {props.name}</h3>
      <p>Он: <strong>{props.year}</strong></p>
      <input
        type="text"
        onChange={props.onChangeName}
        value={props.name}
        className={inputClasses.join(' ')}
      />
      <button onClick={props.onDelete}>Устгах</button>
    </div>
  )

style хувьсагчид тодорхойлоод Car компонентийг багцалж буй div -ийн style атрибутад дамжуулах болгон өөрчилье.

  Нээгдсэн тоо: 338 Төлбөртэй

Сайтын чиглүүлэгчид байхгүй эсхүл хуудас олдоогүй гэх мэтийн тохиолдолд хэрэглэгчдийг тохирох хуудаст шилжүүлэх хэрэгтэй болдог. Үүнийг redirect буюу шилжүүлэлт гэдэг. Vuejs -ийн шилжүүлэлтийн механизм хэрхэн ажилладагийг энэ хичээлээр авч үзье. Үүний тулд програмийн чиглүүлэгчдийн тодорхойлолтод

...
export default new VueRouter({
  routes: [
    {
      path: '',  
      component: Home
    },
    ...
    {
      path: '/none',
      redirect: '/cars'
    }
  ],
  ...
})

none гэсэн чиглүүлэгчийг үүсгээд түүнд хандвал cars хуудаст шилжүүлнэ гэдгийг redirect: '/cars' гэж заан өгье.

  Нээгдсэн тоо: 1351 Төлбөртэй

Роутерийг тохируулах хичээлээр төсөлд Home, Cars хуудсуудыг үүсгэн чиглүүлэгчийг тохируулан бүртгүүлсэн хэдий ч хуудас хооронд шилжихдээ хаягийн мөрөнд шууд бичин өгч байгаа. Иймээс хуудас хоорондын шилжилтийг цэс үүсгэн түүгээр дамжуулан хийе. Та Формын шалгалтын бэлтгэл хичээлийг үзсэн бол төсөлд Bootstrap -ийг суулгасан гэдгийг мэдэж байгаа.

  Нээгдсэн тоо: 1237 Төлбөртэй

Сүүлийн үед веб програмчлалд хүчтэй орж ирж буй javascript фреймворкуудын нэг бол яах аргагүй VueJs сан. Javascript -ийг ашиглахгүйгээр вебэд суурилсан програмыг динамик болгох аргагүй тул хөтөчийн хэлийг үзэн судлах зайлшгүй шаардлагатай гэж үзэн Vue фреймворкийн хичээлүүдийг цувралаар нийтэлж байгаа билээ. Хичээлүүдийг Vue фреймворкийн үндсэн ойлголтууд багц хичээлээс бүгдийг үзээрэй. Vue CLI -ийг суулган түүгээр шинэ төслийн генераци хийхэд төслийн нэрээр хавтас үүсгэдэг гэдгийг CLI суулган төсөл үүсгэх хичээлд үзсэн. Vue CLI -ийн үүсгэсэн хавтасыг код засварлагч дээр нээвэл

дээрх зурагт үзүүлсэн бүтэцтэй харагдана. Хавтаст доторх файлууд ямар үүрэгтэй, зориулалттай болохыг авч үзье.
Жич: Vue CLI хэрэгслийг маш хурдтай хөгжүүлж байгаа учраас зарим зүйлүүд хичээлийнхтэй тохирохгүй байх магадлалтай тул хэрэгслийн албан ёсны сайтаас хамгийн сүүлийн мэдээллийг тогтмол авч байхыг сануулъя.

Үйл явдал /event/ тодорхой үйлдэл хийгдсэн талаар системд мэдэгддэг. Хэрвээ бид энэхүү үйлдлийг ажиглах хэрэгтэй бол яг энд…

Нээгдсэн тоо : 206

 

Манай төсөл олон хуудсуудтай болон тэдгээрийн хооронд динамикаар шилжилт хийж байгаа ч тухайн үед шилжилт хийгдсэн хуудаст тохирох…

Нээгдсэн тоо : 288

 

Зочин (Visitor) паттерн классуудыг өөрчлөхгүйгээр тэдгээрийн обьектуудын үйлдлийг тодорхойлох боломжийг олгоно. Зочин хэвийг ашиглахдаа классуудын хоёр ангилалыг тодорхойлно.…

Нээгдсэн тоо : 246

 

Лямбда-илэрхийлэл нь нэргүй аргын хураангуй бичилтийг илэрхийлнэ. Лямбда-илэрхийлэл утга буцаадаг, буцаасан утгыг өөр аргын…

Нээгдсэн тоо : 350

 

Кодийн сайжруулалт /рефакторинг/ хичээлээр програмийн кодоо react -ийн зарчимд нийцүүлэн компонентод салгасан.…

Нээгдсэн тоо : 397

 

Хадгалагч (Memento) хэв обьектын дотоод төлвийг түүний гадна гаргаж дараа нь хайрцаглалтын зарчмыг зөрчихгүйгээр обьектыг сэргээх боломжийг олгодог.

Нээгдсэн тоо : 415

 

Делегаттай нэргүй арга нягт холбоотой. Нэргүй аргуудыг делегатийн хувийг үүсгэхэд ашигладаг.
Нэргүй аргуудын тодорхойлолт delegate түлхүүр үгээр…

Нээгдсэн тоо : 481

 

Математикт харилцан урвуу тоонууд гэж бий. Ямар нэгэн тооны урвуу тоог олохдоо тухайн тоог сөрөг нэг зэрэг дэвшүүлээд…

Нээгдсэн тоо : 545

 

Төсөлд react-router-dom санг оруулан чиглүүлэгчдийг бүртгүүлэн тохируулсан Санг суулган тохируулах хичээлээр бид хуудас…

Нээгдсэн тоо : 576

 
Энэ долоо хоногт

тэгшитгэлийг бод.

Нээгдсэн тоо : 1094

 

Талууд нь 5; 12; 13 нэгж урттай гурвалжны хэлбэрийг тогтоогоорой.

Нээгдсэн тоо : 994

 

Призмд багтсан V эзэлхүүнтэй дөрвөн өнцөгт зөв пирамидийн оройнууд дээд суурийн төв болон доод суурийн талуудын дундаж цэгүүд харгалзах бол призмийн эзэлхүүнийг ол.

Нээгдсэн тоо : 298