node從搭建運行項目整體流程


1. 初始化配置基本信息:

  npm init (自定義配置)

  npm init -y (一切配置采用默認值)

   在當前目錄產生package.json文件,有一個dependencies用來記錄該項目所有依賴包

2.搭建服務器(在入口文件中app.js)

  使用express框架(npm i express 下載該模塊)

//加載express
const express = require('express')
//創建express服務器
const app = express()
//開啟服務器(端口號隨意此處為3000)
const.listen(3000, () => {
     //搭建成功后的提示信息
    console.log('server is running...)
}    

//托管靜態資源
app.use('/assets',express.static('./view/assets'))
app.use('/node_modules', express.static('./node_modules'));

//注冊body-parser中間件(body-parse用來專門處理post請求的數據)
const bp = require('body-parser');
app.use(bp.urlencoded({extended: false}));

//注冊中間件
//配置模板引擎
app.engine('html', require('express-art-template'));

//4. 加載路由模塊
const router = require('./router.js');
app.use(router);
 

  使用系統模塊提供的http模塊

const http = require('http')
//創建服務器實例
const server = http.createServer()
//開啟服務
server.listen(3000, ()=>{
    console.log('server  is  reunning...')
}
//客戶端請求事件,監聽客戶端請求
//當用戶請求require頁時,在頁面上返回'hellow'
server.on('request', (req, res) => {
    res.end('hellow')
}

3. 使用mysql模塊,封裝數據庫文件(db.js)

  mysql是一個第三方模塊,提供對數據庫增刪改

const mysql = require('mysql')
//創建連接對象
const conn = mysql.createConnection({
  host: '127.0.0.1',
  user: 'root',
  password: 'root',
  port: 3333,	//	端口號
  database: 'aaa'  //要操作的數據庫
})
//連接mysql服務器
conn.connect();
//執行sql語句
const sql = 'select * from hero'
//添加insert into hero value(null, '武則天','朕很中意你','2018-2-2')
//刪除insert into hero value(null, '武則天','朕很中意你','2018-2-2')
//修改update hero set name='張三', content='大傻子' where id = 1

conn.query(sql,(err,result,field)=>{
  if(err){
    return console.log(err)
  } 
  console.log(result)
})
//導出
module.exports = conn

  通配符模式

const sql = "update hero set ? where hero_id=?"
const obj = {
    hero_name: '聖誕快樂',
    hero_age: 22
}
conn.query(sql,[obj,2],(err,result)=>{
    //。。。。
}

 

4. 路由模塊

const express = require('express')
const path = require('path')
const db = require('./db.js')

const router = express.Router()
//加載控制器
// const jq_c = require('./jq_controller.js')
//監聽瀏覽器請求
//美食
router.get('/meishi',(req, res) => {
    const sql = 'select * from MS'
    db.query(sql, (err, result) => {
        if(err){
            console.log(err)
        }
        console.log(result)
        res.render(path.join(__dirname, 'view/jqhtml','meishi.html'),{list: result})
    })
    // res.end('sadasdasd')
})

module.exports = router;

5.運行

命令窗口node app.js

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM