首先你要知道:
- 工具:
- nodejs。
- nodemon。(方便进行调试)
- Nodejs的API
- path.resolve()。
- http.createServer
- process.cwd()。
- fs.readFfile()。
- Promise
- 箭头函数。
- commonJs规范。
- npm的知识。
- class语法规范。
- nodejs路径查找
先上一张我的文件夹图片:
- 首先进入一个空文件夹打开终端:
npm init //用于初始化,会生成一个package.json
npm install nodemon --save-dev //用于使用nodemon
- 在package.json的script标签中修改如下
意思是:用nodemon使用chrome的调试状态来运行当前公共文件夹的index.js
前戏准备足了,开始敲代码了
- 在全局下面创建一个index.js,写入:
let http = require('http');//nodejs的核心文件http
let PORT = 7000;//监听端口号
let APP = require('./app/index')//进行一个中间层的抽离
let server = new APP();
http.createServer(server.initSever()).listen(PORT,()=>{
console.log('sever run~~~')
})//创建一个服务器,端口号为7000
- 进入全局建立APP文件夹,并在下面创建一个index.js。进入全局,创建public文件夹,并在下面写一个index.html,我们要做的就是启动服务器让index.html能够跑起来
class APP{
initSever(){
return (request,response)=>{
let {url} = request;//ES6的字符串结构
let urlHeader = './public'
let getPath = (url)=>{
return path.resolve( process.cwd(),urlHeader+url)
} //使用path.resolve使它的路径转成绝对路径。
if(url=='/') url = '/index.html';//因为开启服务器,它默认的url为'/'
//我们想让它的url锁定public下面的index.html,所以我们需要对url进行一些处理。
url = getPath(url)//这时候打开端口首页就是public/.index.html
//接下里我们就可以读取文件了
fs.readFile(url,'utf8',(error,data)=>{
response.end(data);
})
}
}
}
module.exports = APP
写好之后我们可以开启服务器了:我先在html写<h2>hello world</h2>
,
在终端里面写npm run start
现在我可以在浏览器开启:http://localhost:7000
我们的文件夹: