001-搭建简单服务器,访问本地静态资源

node下载地址:http://nodejs.cn/
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
使用nodejs搭建本地服务器,类似于Apache。
操作步骤:
1、在文件夹下创建一个服务文件server.js。
2、进入server.js文件,打开命令面板,运行命令node serve.js。
若服务启动成功,命令面本中会打印日志“服务器开启成功”。
在浏览器中,输入localhost:8888可以成功访问。
3、访问文件可以在地址栏目中加入访问的文件路径
4、关闭服务器:ctrl + c,根据命令板提示操作即可关闭。

以下是详细代码

const http = require('http')
// 文件阅读器
const fs = require('fs')
const url = require('url')
const path = require("path")

// 一、搭建、开启服务
const server = http.createServer(function(req, res){
	// req:接收客户端传来的数据
	// res:想服务端发送的数据

	// 若要访问其他文件夹下的文件,需要修改root目录
	const root = __dirname
	// const root = "E:\project\nodeServe"
	
	// __dirname被执行文件的绝对路径
	// parse(url),url的拆解,常见方法还有host、port、pathname、path、query。
	let filePath = root + url.parse(req.url).pathname
	
	if (path.extname(filePath) == "") {
		filePath += "/test.html"
	}
	
	// charAt(index)返回指定位置字符
	if (filePath.charAt(filePath.length - 1) == '/') {
		filePath += 'index.html'
	}
	
	fs.exists(filePath, function (exists) {
		// 查看文件路劲是否存在
		// exists(filePath,callBack)
		if (exists) {
			const contentTypeObj = {
				// 根据后缀名设置content-type值
				'.html': { "Content-Type": 'text/html;charset="utf-8"' },
				'.js': { "Content-Type": "text/javascript" },
				'.css': { "Content-Type": "text/css" },
				'.gif': { "Content-Type": "image/gif" },
				'.png': { "Content-Type": "image/png" },
			}
			
			const fileExtname = path.extname(filePath)
			// extname()获取文件的拓展名(后缀名)
			
			fs.readFile(filePath, function (err, data) {
				// readFile
				// 一参:文件路径
				// 二参:回调函数
				if (err) {
					res.writeHead(404, {
						'content-type': 'text/html;charset="utf-8"'
					})
					res.write('<div>读取错误</div>')
					res.end()
					return
				}
				
				res.writeHead(200, contentTypeObj[path.extname(filePath)])
				// writeHead
				// 第一个参数是http请求码,200为连接成功
				// 二参:连接成功后向客户端写入头信息
				
				// 把内容写入document中
				res.write(data)
				
				// 发送信息
				res.end()
			})
			return
		}
		res.writeHead(404, {
			"content-Type": 'text/html;charset="utf-8"'
		})
		res.end("<h1>文件不存在!</h1>")
	})
}).listen(8888)
// listen(要监听的端口)
console.log('nodejs服务器已经开启!')
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了在本地搭建服务器来运行静态网页,你可以使用Express模块来构建一个简易的静态服务器。以下是一个简单的步骤: 1. 首先,你需要在你的项目文件夹下创建一个新的JavaScript文件,可以命名为server.js或其他你喜欢的名称。 2. 在server.js文件中,你需要引入Express模块,并创建一个Express应用程序实例。可以使用以下代码: ```javascript const express = require('express'); const app = express(); ``` 3. 然后,你需要指定你的静态文件的目录。假设你的静态文件都放在一个名为public的文件夹下,你可以使用以下代码将public文件夹设置为静态文件目录: ```javascript app.use(express.static('public')); ``` 4. 接着,你需要指定服务器监听的端口号。你可以使用以下代码指定一个端口号,比如3000: ```javascript const port = 3000; app.listen(port, () => { console.log(`服务器运行在 http://localhost:${port}`); }); ``` 5. 最后,在命令行中运行`node server.js`启动你的服务器。 6. 现在,你可以通过在浏览器中输入`http://localhost:3000`来访问你的静态网页了。如果你的入口文件是index.html,你可以直接访问`http://localhost:3000`;如果入口文件是其他名称的HTML文件,比如demo.html,你可以通过`http://localhost:3000/demo.html`来访问。 这样,你就可以通过本地搭建服务器来运行你的静态网页了。请注意,这只是一个简单的示例,你可以根据你的具体需求进行调整和扩展。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [nodejs构建本地web测试服务器 如何解决访问静态资源问题](https://download.csdn.net/download/weixin_38723516/14007532)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [本地搭建简单服务器运行静态页面](https://blog.csdn.net/xilejie/article/details/131312678)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值