این مقاله هنوز تکمیل نیست
×

NODEJS

اشکان نصیرزاده

اشکان نصیرزاده

node -v
npm -v

آبجکت هایی که ماهیت browser مربوط می شوند (مثل window یا document) را در اینجا نداریم چونکه اینجا under the hood یا روی سرور داره اجرا میشه ولی اینجا مثلا os داریم .

const http = require('http');
const server = http.createServer(function(request, response) {
    response.end(`this is ${request.url}`);
});
server.listen(5000);
console.log('server is listening on port 5000');
# installing express
npm init
npm install express --save
const express = require('express');
const app = express();
app.get('/', (req, res) => {
    res.send('hello world');
});
app.listen(1397);
console.log('server is listening on port 1397');
const express = require('express');
const path = require('path');
const app = express();
let path1 = path.join(__dirname, 'folder');
app.use(express.static(path1));
app.get('/', (req, res) => {
    res.sendFile(path.resolve(__dirname, 'folder', 'index.html'));
});
app.listen(1397);
console.log('server is listening on port 1397');
// shop.js
const express = require('express')
const router = express.Router()
router.get('/', (req, res) => {
    res.send('this is Shop page')
})
module.exports = router
// app.js
const express = require('express')
const app = express()
const shopRoutes = require('./routes/shop')
app.use('/admin', shopRoutes)
app.listen(3000)
yarn global add nodemon

middleware ها در express توابعی هستند در چرخه ی حیات یک request و responce اجرا می شوند مثل app.use()/app.get()/etc

// error handling:
app.use((req, res) => {
    res.status(404).send('page not found');
})
router.get('/', (req, res) => {
    res.sendFile(path.join(__dirname, '../', 'views', 'shop.html'))
})
npm install body-parser
// send an input server
// app.js
const bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({extended: false}))
// admin.js
const products = []
router.post('/add-product', (req, res) => {
    products.push({title: req.body.title})
    res.redirect('/')
})
exports.routes = router
exports.products = products
// shop.js
const adminData = require('./admin')
router.get('/', (req, res) => {
    console.log(adminData.products)
    res.sendFile(path.join(__dirname, '../', 'views', 'shop.html'))
})
npm install ejs
    res.render('shop', {
        products: 'a'
    })