前端node.js上传文件到服务器_从零开始: nodejs 搭建文件索引服务器(Part 1)

在考虑要用nodejs搭建文件索引服务器来替代我原来那个笨重的Apache服务器(采用省心的bitnami lampstack搭建,然后配了背景图片和图标)之前,说实话我连javascript是什么都不清楚。所以,从语言上讲,确实是从零开始。

但另一方面,我大致知道“菜鸟教程”上有各种语言、环境的入门教程,我还学过C语言,用C语言写过五子棋(课程大作业),用C语言写过单片机外设的驱动,用verilog写过硬件逻辑,用Matlab写过简单的数字信号处理程序、语音合成、图像分析等。没错,都是电子信息工程的必修课程。这些任务大多数需要边做任务边学习(复习),特别是Matlab作业,需要在完全不知道相关概念的情况下自行查阅网上资料现学现用,因此极大锻炼了我编程处理问题的能力,同时也让我有勇气在完全不知道javascript和nodejs特性的情况下、仅凭网上“用nodejs搭建简单的文件服务器”的帖子就敢开始这个项目。

废话就说到这,下面我们开始。

0 下载nodejs

我手头的环境是wsl1, 这年头不会一点linux的估计也不会看这篇文档的吧。相较于windows,将服务器部署在linux显然是更为方便的,但在轻薄本上测试。。。好吧,wsl上。下载安装包我们选择官网http://nodejs.cn/download/,选择linux x86_64下载即可。下好后解压,运行bin/node即可。当然,也可以选择用aptyumpacman安装。打开node之后,就可以看到node解释终端,和python解释终端别无二致。

1 用nodejs搭建简单的文件服务器

就像网上的帖子,在这里,你只需要复制粘贴代码,初步感受一下简单的nodejs服务器是什么样的。

代码:

var http = require('http');
http.createServer(function (request, response) {
    
 response.writeHead(200, {
    'Content-Type': 'text/plain'});
 response.end('Hello Worldn');
}).listen(8888);
console.log('Server running at http://127.0.0.1:8888/');

好了,现在将其保存为“hello.js”, 然后用nodejs运行它: node hello.js, 打开浏览器,输入localhost:8888, 你就可以看见“Hello World”的字样了。所以,挺神奇的吧,原来要好大的lampstack才能实现的东西,原来在nodejs里几行代码就能初步实现。而且,代码是可见的,这意味着DIY起来将会很方便,也不需要看很多特定的文档,就像当初手动配置LAMP环境一样,除了安装linux, 没有一点是容易的。

下面,我们来逐句分析一下代码:

var http = require('http'); //载入http模块,具体查阅 nodejs 载入模块 相关内容
http.createServer(...) // 调用http属性createServer, 创建服务器
.listen(8888) // 其实应该写作http.listen(8888), 至于为啥省略了http, 是因为creatServer方法返回值就是http. 刚入门时对对象、方法、属性很难理解,查看了“Node.js模块系统”有关内容会好很多。
console.log('Server running at localhost:8888); // 这句最好理解:终端打印日志...

上面确实是逐句分析的,当然参数没有分析进去。注意到createServer函数的参数有点特别,是一个“无名函数”:

function (request, response) {
    
 response.writeHead(200, {
    'Content-Type': 'text/plain'});
 response.end('Hello Worldn');
}

这个函数需要两个参数,一个是request 一个是response, 之后在正式着手写服务器时会经常见到它们。这个函数做了两件事,一个是response.writeHead(), 调用response的writeHead方法写个http响应头, 还有一个是.end(), 调用end方法写点数据,并结个尾。

我们习惯上吧没有名字的函数称为匿名函数,匿名函数还有一种写法就是

(request, response) => {}

看着就像

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值