在官網上下載完安裝,並用node -v
測試是否安裝完成,若出現版本號,則說明安裝完成css
1.運用node的方式搭建服務,並用js模板引擎art-template進行頁面渲染html
//引入http服務
var http = require('http')
//引入文件的方法
var fs = require('fs');
//用art-template模板渲染
var template = require('art-template');
var url = require('url')
http.createServer(function(req, res) {
// url.parse將請求的路徑轉化爲對象
var parseObj = url.parse(req.url, true)
// pathName爲請求的路徑
var pathName = parseObj.pathname
// var url = req.url
if (pathName == '/') {
fs.readFile('./view/index.html', function(err, data) {
if (err) {
return res.end('出現404的錯誤')
}
// 使用art-template進行模板渲染
var html = template.render(data.toString(), {
//comments這是一個數組對象
comments: comments
});
res.end(html)
})
} else if (pathName == '/post') {
fs.readFile('./view/post.html', function(err, data) {
if (err) {
return res.end('出現404的錯誤')
}
res.end(data)
})
} else if (pathName == "/pinglun") {
var getmessage = parseObj.query
comments.push(getmessage)
// 當提交表單時,請求碼爲302時,從新設置請求頭
res.statusCode = 302
res.setHeader('location', "/")
res.end()
} else if (pathName.indexOf("/public/") === 0) {
//處理靜態文件/public/
console.log(url); //打印出來的時/public/css/css.css/
fs.readFile('.' + pathName, function(err, data) {
if (err) {
return res.end('出現404的錯誤')
}
res.end(data)
})
} else {
fs.readFile('./view/404.html', function(err, data) {
if (err) {
return res.end('出現404的錯誤')
}
res.end(data)
})
}
})
.listen(3000, 'localhost', function() {
console.log("監聽的是3000的端口")
})
複製代碼
包名
下載到當前項目中的根目錄,經過 npm install 包名 安裝的包會自動下載到當前目錄下的 node_modules 目錄, 若是該目錄不存在,則直接建立,若是已存在,則直接將文件下載進去。node
npm install --global 第三方命令行工具名字
核心模塊名 | 做用 |
---|---|
fs | 文件操做 |
http | 網絡操做模塊 |
net | 更底層的網絡操做模塊 |
os | 操做系統相關 |
path | 文件路徑操做相關 |
querystring | 查詢字符串處理 |
url | url操做處理 |
module.exports
編程接口對象,默認是一個空對象。能夠經過此方法添加成員向外暴露內部成員require
方法能夠用來加載模塊,該方法是同步加載執行的,主要作兩件事兒(加載模塊中的代碼)(拿到被加載的module.exports
中的對象)