写在前面
本系列文章,从刚刚创建ubuntu 14.04系统开始,逐步完成一个完整的nodejs程序。博客以一个虚拟的项目作为驱动,主要用于我自身的强化练习,也希望能够对新入门的Nodejs爱好者提供帮助,话不多说,默认现在您已经创建了一个空白的ubuntu 14.04系统了。还有,本文中的代码都是以截图的形式呈现的,抱歉哈,因为我做的是虚拟机,直接在主机里截取虚拟机里的代码比较方便,但是也许这样也阻止了读者的直接复制粘贴,必须手写代码,也许会有所帮助。话不多说文章开始~
环境配置
1.环境基础
管理员权限
新创建的虚拟机,用户是没有管理员权限的,所以需要获取管理员权限。执行如下命令(注释部分我统一用//后面展示,大家注意,不要写到程序中去)
sudo passwd //然后设置密码,这个密码也是管理员的密码
su root //然后填写上面设置的管理员密码
获取nodejs、npm、vim支持
apt-get update
apt-get install nodejs
apt-get install npm
apt-get install vim
2.创建服务器
创建工程文件夹
mkdir expressT //以后的项目根目录指的就是这个目录 expressT/
根目录下生成package.json
npm init //会问你几个基本的问题,如项目版本、名称、入口等,不明白的地方可以直接敲回车忽略
根目录下安装express
npm install express --save //安装express,同时将express依赖写入上文创建的元数据package.json中
根目录下创建并编辑入口文件index.js
运行程序,创建本地服务器
nodejs index.js //控制台打出如下字样
注:
但是你肯能会注意到当前控制台会一直保持运行nodejs的状态,不能关闭也不能敲其他指令。如果你想让程序后台运行的话
nodejs index.js &>/dev/null &
这样程序就能后台运行了,当前控制台可以做其他工作。如果你想关闭nodejs进程
ps aux | grep nodejs
kill 进程号
或者直接 killall nodejs
3.添加各类支持
在入口文件中添加基本路由支持,以及定制400 500页面(在创建服务器代码之前)
访问主页面
访问某个不存在的页面 /about
集成模板引擎
npm install ejs --save //安装ejs类库,本系列使用的模板引擎是ejs,因为这样可以直接使用html文件,容易上手
npm install path --save // 引入path库依赖,用于后文静态文件目录的创建
创建视图和静态文件
mkdir public
cd public
mkdir images //存放图片资源
mkdir css //存放css资源
mkdir js //存放js资源
cd ..
mkdir views
touch index.ejs //创建项目主页面
注:
我们在项目根目录下/express/,创建public文件夹并设置其为静态资源文件夹,里面的资源对外公开,访问里面的资源的时候,服务器会以毫不处理的形式将其发送给客户端;同时,我们创建并设置views目录设置为项目静态文件目录,对服务器透明;设置模板引擎为ejs;
views/目录下的ejs文件,服务器可以直接访问文件名,不用带views/目录名称,服务器会将该ejs文件,连带着我们要传入ejs文件内的对象,解析后一起发给浏览器,使用res.render('文件名',{key:value,key:value})
index.ejs文件如下,其中在需要显示后台数据的地方使用 <%= xx%>的形式,xx会被自动替换成key:value中的value,本文中会被替换成express test
浏览器访问静态图片资源
我们在public /images目录下放置一张图片,test.jpg。然后在浏览器里访问 localhost:9000/images/test.jpg,如下所示
总结
目前为止,一个ubuntu 14.04下的简单nodejs服务器的雏形就出来了,我们可以访问服务器,服务器可以做出反应;设置了404错误处理页面;可以放置静态资源
目录结构
package.json中依赖的安装情况
你完成了吗?下一篇文章,我会给程序添加控制器和service。涉及exports导出模块和引入when,js模块,解决nodejs的异步处理
白了个白~