Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // нет объектов window document
- // присутствуют встроенные модули
- const fs = require('fs') // require - импорт nodejs
- const data = `
- Hell from NodeJS
- I am random text!
- `
- fs.writeFileSync('nodejs.txt', data) // метод объекта (встроенного модуля) fs, создает файл
- // первым параметром принимает название файла,
- // вторым параметром принимает содержимое файла
- const result = fs.readFileSync('nodejs.txt', {encoding: 'utf-8'}) // приставка Sync - означает синхронно, readFile - будет работать асинхронно,
- // второй необязательный параметр объект конфигурации
- // метод возвращает значение
- console.log(result)
- console.log(__dirname) // __dirname - глобальная переменная - путь до текущей папки
- console.log(__filename) // __filename - глобальная переменная - путь до текущего файла
- // -v флаг -v после названия пакета выведет в консоль версию пакета
- // package.json (npm init инициализация package.json)
- // package-lock.json (системный файл, для ускорения работы, содержит информацию о версионности пакетов)
- // в формате JSON любые ключи и значения (в том числе числа) указываются в двойных кавычках и никак иначе
- // Express
- // npm install (i) express --save (-s) или --save-dev (-D)
- // --save установить как зависимость для нашего проекта (поле dependencies в package.json), без чего проект не будет работать
- // --save-dev установить как зависимость для разработки (поле devDependencies в package.json),
- // не будет отвечать за функционал нашего приложения, только за инфраструктуры
- // npm install nodemon --save-dev будет постоянно перезагружать сервер
- // npm install nodemon -g (глобально (в глобальную область видимости, а не в папку проекта), будет доступен везде из консоли)
- // npm run start выполнит комманду в ключе start поля scripts ("start": "nodemon index.js") package.json файла
- // сервер Express пример
- const express = require('express')
- const bodyParser = require('body-parser')
- const weatherRequests = require('./requests/weather.request')
- const app = express()
- app.set('view engine', 'ejs')
- app.use(express.static('public'))
- app.use(bodyParser.urlencoded({extended: true}))
- app.get('/', (request, response) => {
- response.render('index', {weather: null, error: null})
- })
- app.post('/', async (request, response) => {
- // request.params отвечает за get параметры
- // request.body отвечает за post параметры нужен пакет body-parser
- // d604c2c401de2e52a1c298b18aa3087e
- const { city } = request.body // получит (за счет деструктуризации объекта) значение input[name="city"] из POST запроса
- const { weather, error } = await weatherRequests(city)
- // console.log(weather)
- // console.log(error)
- response.render('index', {weather, error})
- })
- app.listen(3000, () => {
- console.log('Server has started on port 3000...')
- })
- // npm i ejs позволяет шаблонизировать html в js файлах
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement