0722-(1)如何引入mime、ejs模板及简单服务器文件分离练习——node.js(笔记)

引入第三方模块

1、创建出项目文件夹

  • 初始化出package.json文件,初始化命令为 npm init 。该命令需要一步步键入自己对项目的说明,使用npm init -y 可以跳过键入阶段(全部采用默认配置) 直接生成json文件

2、安装第三方模块的命令

  • 一般 npm install (要安装的模块名称) [–save] 。

注意: --save如果不加则安装的依赖不会在json文件中列出来,反之会列出来。
save的好处是:如果删除了node_modules文件夹,直接使用 npm install 命令即可安装列表中的依赖
在所有的终端命令中 install 可以简写 => i --save命令可以简写 => -S

    // 例如安装mime
    npm install mime --save => npm i mime -S
    {
        "name": "lol", // 包的名称 不能使用中文
        "version": "1.0.0", // 包的版本号
        "description": "'project'", // 对项目的描述
        "main": "index.js", // 项目的入口文件 配置了入口文件后在模块中引入该包的时候会直接加载该js文件
        "scripts": {
            "test": "echo \"Error: no test specified\" && exit 1"
        },
        "author": "wang", // 包作者
        "license": "ISC", // 证书 会自动生成
        "dependencies": { // 依赖清单 npm install 会按照该清单安装所需要的依赖
            "mime": "^2.4.6"
        }
    }

引入ejs模板

命令 npm install ejs --save ,npm 是安装命令也可以使用 cnpm命令,install意思是安装,ejs是指要安装的包的名称, --save是可选项( --save如果不加则安装的依赖不会再json文件中列出来 反之会列出来)
1. 使用ejs模板的方法

    var http = require('http');
    //在要使用ejs模板的模块中引入ejs
    var ejs = require('ejs');
    // 在需要使用模板的地方使用ejs语法
    // 在模块中写入 renderFile是ejs渲染文件的方法 渲染的文件可以是ejs文件也可以是html文件
    http.createServer(function(req, res) {
        ejs.renderFile('要渲染的文件的路径', {
            key:'要渲染的值', 
            status: true, 
            arr: [
                '麻瓜', '麻瓜', '彼此彼此'
            ],
            user: {
                name: "劫",
                hit: "叉子"
            }
        }, function(err, data) {
            res.write(data)
            res.end()
        })
    })
    
<!-- ejs模板在html中获取值的语法 -->
    <body>
        <!-- 渲染变量值得办法 -->
        <div><%=key%></div>
        <!-- ejs的判断语法 -->
        <%if(status) {%>
            <div>这实力status是true的时候要显示的内容</div>
        <%} else if(判断条件) {%>
            <div>这里是status是false并且判断条件是true的时候显示的内容</div>
        <%} else {%>
            <div>其他内容</div>
        <%}%>
        <!-- ejs列表渲染语法 -->
        <ul>
            <%for(var i = 0; i<arr.length; i++){%>
                <li><%=arr[i]%></li>
            <%}%>
        </ul>

        <!-- 渲染对象的值 -->
        <div><%=user.name%></div>
    </body>

简单服务器文件分离练习

1.服务开启文件

var start = require("./server"); //导入开启服务文件
var api = require("./resultHandle")  //导入请求结果文件

//请求结果接口对接
var handle = {};  
handle['/'] = api.deFault;
handle['/index'] =api.index;
handle['/login'] =api.login;

start.start(handle);

2.服务开启实现文件

var http = require('http');
var url = require("url");
var router = require('./router'); //导入路由处理文件

function start(handle) {

    function requestHandle(request, response) {
        var pathname =  url.parse(request.url).pathname;//获取地址
        response.writeHead(200,{"Content-type":"text/html;charset=utf-8"});

        var content = router.handle(handle,pathname); //获取路由处理结果
        response.write(content); //将结果写入页面
        response.end();
    }
    http.createServer(requestHandle).listen(3000, function () {
        console.log('Server is running');
    });
}
module.exports = {
    start: start
}

3.路由处理文件

function handle(handle,pathname){
    if(typeof handle[pathname] === "function"){
        return handle[pathname]();
    }else{
        return "404";
    }
    
}
module.exports = {
    handle
}

*4.请求结果处理

function deFault(){
    return "默认地址页面"
}

function index(){
    return "主页面";

}
function login(){
    return "登录界面";
}
module.exports={
    deFault,
    index,
    login,
}*
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值