可能要重新选一遍node.exe
啥是模块?简单的理解就是你写的功能块,提供了一些方法或者属性
功能块中的私有的是外界无法调用的,例如
var personal = "personal-test"
共有的外界则可以调用,如
this.location = "changsha"
this.showLog = function(){
console.log('hellow old');
}
项目创建了,可是,接下来干嘛,唔,运行一下看看,
没有任何效果
先看看项目结构
先大致说说
- app.js: 项目入口,可改名,相当于php项目中的index.php index.html
- node_modules: 存放项目的依赖库
- package.json: 项目的依赖配置及开发者信息等
- public: 静态文件如css, js,img
- routes: 路由文件(不知道干嘛的等会分析)
- views: 页面文件(ejs或者jade模板)
装逼装过头了,其实上面的东西我都没看懂
但是我看到了运行的是哪个文件
接下来我们看看这个文件
可以看到引入了app模块,debug模块,http模块
然后声明一个port(端口)并设置给app
然后用http创建server并监听这个port
然后server注册了两个事件,error事件和listening事件,并提供监听方法
在onlistening中只是输出了一个log
接下来就可以在浏览器中输入127.0.0.1:port进入网页了
这个port是之前设置的端口数字
再次查看目录结构,我们发现了index及同级目录下的users
首先就能想到,进入的肯定是index文件
index的代码如下
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
module.exports = router;
大概意思能够理解就是路由到跟目录,返回一个渲染title值为Express。
再看看views下的index.ejs
<html>
<head>
<title><%= title %>title>
<link rel='stylesheet' href='/stylesheets/style.css' />
head>
<body>
<h1><%= title %>h1>
<p>Welcome to <%= title %>p>
body>
html>
吧title替换成Express,唔,显示的就是这个内容,
再想起项目的入口就是app.js,联系起www中首先就引入了app模块,我们看看app.js这个文件
同样很多我们看不懂的地方
但是我看见了这个
唔,看来真相就在这里。至于其他看不懂的,先不管吧,谁让我们是新手呢
得找点新手教程来看看才行