nodejs教程之环境安装及运行

2020-06-17 06:45:33易采站长站整理

      if (js) {
        if (js.lastIndexOf(‘//’) > js.lastIndexOf(‘n’)) js += ‘n’;
        buf += prefix;
        buf += js;
        buf += postfix;
      }
      i += end – start + close.length – 1;

    } else if (stri == “”) {
      buf += “”;
    } else if (stri == “‘”) {
      buf += “'”;
    } else if (stri == “r”) {
      // ignore
    } else if (stri == “n”) {
      if (consumeEOL) {
        consumeEOL = false;
      } else {
        buf += “n”;
        lineno++;
      }
    } else {
      buf += stri;
    }
  }

  if (false !== options._with) buf += “‘); })();n} nreturn buf.join(”);”;
  else buf += “‘);nreturn buf.join(”);”;
  return buf;
};

就如,我们这里使用到的ejs模板以及express模块,然后我们好奇的走进了ejs的程序看看究竟有何不同

打开,ejs.js后,我们抽一点代码出来看:这段代码我们比较熟悉,他与underscore的模板引擎代码思想一致,都是将模板解析为字符串

然后通过eval或者new Function的方法将之转换为函数,并且传入自己的数据对象好解析

至于具体工作流程,现在我们还不知道,只能放到后面点研究了,好了我们现在进入其他模块

app.js

作为入口文件,app.js扮演着举足轻重的角色:


/**
 * Module dependencies.
 */

var express = require(‘express’);
var routes = require(‘./routes’);
var user = require(‘./routes/user’);
var http = require(‘http’);
var path = require(‘path’);

var app = express();

// all environments
app.set(‘port’, process.env.PORT || 3000);
app.set(‘views’, path.join(__dirname, ‘views’));
app.set(‘view engine’, ‘ejs’);
app.use(express.favicon());
app.use(express.logger(‘dev’));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, ‘public’)));