我自己的网站--第一个nodejs项目(idea)

创建项目

可能要重新选一遍node.exe

啥是模块?简单的理解就是你写的功能块,提供了一些方法或者属性
功能块中的私有的是外界无法调用的,例如

 var personal = "personal-test"

共有的外界则可以调用,如

this.location = "changsha"
this.showLog = function(){
console.log('hellow old');
}

andThen?

项目创建了,可是,接下来干嘛,唔,运行一下看看,
没有任何效果
先看看项目结构
我自己的网站--第一个nodejs项目(idea)_第1张图片

先大致说说
- app.js: 项目入口,可改名,相当于php项目中的index.php index.html
- node_modules: 存放项目的依赖库
- package.json: 项目的依赖配置及开发者信息等
- public: 静态文件如css, js,img
- routes: 路由文件(不知道干嘛的等会分析)
- views: 页面文件(ejs或者jade模板)

装逼装过头了,其实上面的东西我都没看懂
但是我看到了运行的是哪个文件
我自己的网站--第一个nodejs项目(idea)_第2张图片
接下来我们看看这个文件
我自己的网站--第一个nodejs项目(idea)_第3张图片

可以看到引入了app模块,debug模块,http模块
然后声明一个port(端口)并设置给app
然后用http创建server并监听这个port
然后server注册了两个事件,error事件和listening事件,并提供监听方法
在onlistening中只是输出了一个log
接下来就可以在浏览器中输入127.0.0.1:port进入网页了
这个port是之前设置的端口数字
我自己的网站--第一个nodejs项目(idea)_第4张图片

那么,进入的是哪个网页?

再次查看目录结构,我们发现了index及同级目录下的users
我自己的网站--第一个nodejs项目(idea)_第5张图片
首先就能想到,进入的肯定是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,唔,显示的就是这个内容,

为什么会这样,哪里指定了首页就是index?

再想起项目的入口就是app.js,联系起www中首先就引入了app模块,我们看看app.js这个文件
同样很多我们看不懂的地方
但是我看见了这个
我自己的网站--第一个nodejs项目(idea)_第6张图片
唔,看来真相就在这里。至于其他看不懂的,先不管吧,谁让我们是新手呢
得找点新手教程来看看才行

你可能感兴趣的:(web,nodejs)