// 引入http內置模塊
const http = require('http');
// 引入chalk 用於美化後臺打印
const chalk = require('chalk')
// 引入基本配置
const conf = require('./config/defaultConfig');
// 建立一個server 實例
const server = http.createServer((rep, res) => {
// 狀態碼
res.statusCode = 200;
// 設置相應頭部
res.setHeader('Content-Type', 'text/plain')
// 輸出
res.end('haha http!')
})
// 監聽 server 實例
server.listen(conf.port, conf.hostname, () => {
const addr = `http:// ${conf.hostname}:${conf.port}`
console.info(`server startd at ${chalk.green(addr)}`)
})
複製代碼
defaultConfig.js
module.exports = {
// 主機名稱
hostname: '127.0.0.1',
// 端口號
port: 6969
}
複製代碼
<!--輸出結果-->
server startd at http:// 127.0.0.1:6969
複製代碼
咱們設置
res.setHeader('Content-Type', 'text/plain')
,就會將輸出格式設置成文本。這時候咱們會想到,工做中碰到過接口返回web頁面的狀況,這是怎麼實現的呢?html
node app.js
// 建立一個server 實例
const server = http.createServer((rep, res) => {
// 狀態碼
res.statusCode = 200;
// 設置相應頭部
res.setHeader('Content-Type', 'text/html')
res.write('<html>')
res.write('<body>')
res.write('<h1 style="color: blue">')
res.write('ah, http !')
res.write('</h1>')
res.write('</body>')
// 輸出
res.end('</html>')
})
複製代碼
上面提到修改代碼,就須要使用node 從新執行文件。而實際寫代碼是須要不斷的調試的,若是有一個東西可以自動幫咱們執行就行了,它有個官方名詞:熱更新node
supervisorwebpack
你們都知道webpack 是自帶熱跟新的,很是強大。可是咱們寫代碼總不能每一個demo都用webpack,顯得過於笨重web
supervisor
是一款輕量級的熱更新工具,推薦裝載在全局,這樣隨便哪一個js文件均可以隨時隨地熱跟新了瀏覽器
node i -g supervisor
複製代碼
執行代碼只需bash
supervisor app.js
複製代碼
從啓動描述上能夠看出,應該是利用了node watch 監聽了文件的變更,從而再次觸發 node XXX.js服務器
後面再次修改文件,直接刷新頁面便可,插件工具會幫咱們再將相關文件執行一遍app
另外webpack 不須要刷新也能夠看到效果,我猜想是後續有一次執行了相似location.reload()
工具
closepost