Advertisement
Guest User

Untitled

a guest
Mar 21st, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.78 KB | None | 0 0
  1. // нет объектов window document
  2. // присутствуют встроенные модули
  3. const fs = require('fs') // require - импорт nodejs
  4.  
  5. const data = `
  6. Hell from NodeJS
  7. I am random text!
  8. `
  9. fs.writeFileSync('nodejs.txt', data) // метод объекта (встроенного модуля) fs, создает файл
  10. // первым параметром принимает название файла,
  11. // вторым параметром принимает содержимое файла
  12.  
  13. const result = fs.readFileSync('nodejs.txt', {encoding: 'utf-8'}) // приставка Sync - означает синхронно, readFile - будет работать асинхронно,
  14. // второй необязательный параметр объект конфигурации
  15. // метод возвращает значение
  16. console.log(result)
  17.  
  18. console.log(__dirname) // __dirname - глобальная переменная - путь до текущей папки
  19. console.log(__filename) // __filename - глобальная переменная - путь до текущего файла
  20.  
  21.  
  22. // -v флаг -v после названия пакета выведет в консоль версию пакета
  23. // package.json (npm init инициализация package.json)
  24. // package-lock.json (системный файл, для ускорения работы, содержит информацию о версионности пакетов)
  25. // в формате JSON любые ключи и значения (в том числе числа) указываются в двойных кавычках и никак иначе
  26.  
  27. // Express
  28. // npm install (i) express --save (-s) или --save-dev (-D)
  29. // --save установить как зависимость для нашего проекта (поле dependencies в package.json), без чего проект не будет работать
  30. // --save-dev установить как зависимость для разработки (поле devDependencies в package.json),
  31. // не будет отвечать за функционал нашего приложения, только за инфраструктуры
  32. // npm install nodemon --save-dev будет постоянно перезагружать сервер
  33. // npm install nodemon -g (глобально (в глобальную область видимости, а не в папку проекта), будет доступен везде из консоли)
  34.  
  35.  
  36. // npm run start выполнит комманду в ключе start поля scripts ("start": "nodemon index.js") package.json файла
  37. // сервер Express пример
  38. const express = require('express')
  39. const bodyParser = require('body-parser')
  40. const weatherRequests = require('./requests/weather.request')
  41.  
  42. const app = express()
  43.  
  44. app.set('view engine', 'ejs')
  45. app.use(express.static('public'))
  46. app.use(bodyParser.urlencoded({extended: true}))
  47.  
  48. app.get('/', (request, response) => {
  49. response.render('index', {weather: null, error: null})
  50. })
  51.  
  52. app.post('/', async (request, response) => {
  53. // request.params отвечает за get параметры
  54. // request.body отвечает за post параметры нужен пакет body-parser
  55. // d604c2c401de2e52a1c298b18aa3087e
  56. const { city } = request.body // получит (за счет деструктуризации объекта) значение input[name="city"] из POST запроса
  57. const { weather, error } = await weatherRequests(city)
  58. // console.log(weather)
  59. // console.log(error)
  60. response.render('index', {weather, error})
  61. })
  62.  
  63. app.listen(3000, () => {
  64. console.log('Server has started on port 3000...')
  65. })
  66. // npm i ejs позволяет шаблонизировать html в js файлах
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement