Node中require第三方模块(art-template)的规则

Node.js中使用CommonJs模块化机制,通过npm下载的第三方包,我们在项目中引入第三方包都是:let xx = require('第三方包名'),究竟require方法加载第三方包的原理机制是什么,今天我们来探讨下。

1、安装art-template

        通过npm安装模板引擎(npm: 包管理工具 , 能帮你下载你所需要的包)

        npm install art-template 通过npm安装模板引擎包

        该命令在哪执行就会把包下载到哪里默认下载到node_ modules中,不能更改的

打开终端,在终端中输入

npm install art-template

Node中require第三方模块(art-template)的规则_第1张图片

2.然后在项目模板导入那些核心模块

var template = require('art-template');

3.再写入案例:

var template = require('art-template');

var text = template.render(`我的名字是{{name}},今年{{age}}岁`, {
    name: 'Node',
    age: 18,

})

console.log(text)

4.在终端输出 

 5.实战案例:

//获取模板引擎实例
var template = require('art-template');
 
//获取文件操作对象实例
var fs = require('fs');
 
//获取服务器实例
var http = require('http');
 
//创建服务器,并绑定3000端口
var server = http.createServer().listen(5000, function () {
    console.log('Server star ....');
})
 
//服务器监听方法
server.on('request', function (req, res) {
 
    //获取请求地址
    var url = req.url;
 
    if (url === '/') {
 
        //读取当前目录下的'tpl.html'文件
        fs.readFile('./index.html', function (err, data) {
            if (err) {
                //读取失败
                return console.log('读取文件失败了')
            }
            //读取成功后,使用模板引擎替换字段
            /**
             * 替换规则
             * 替换标记:{{}}
             * 例如:{{ name }}  替换为下面的  Node
             */
            var ret = template.render(data.toString(), {
 
                //对应{{ name }}
                name: 'Node',
 
                //对应{{ age }}
                age: 18,
 
                //对应{{ province }}
                province: '武汉市',
 
                //对应{{each hobbies}} {{ $value }} {{/each}}
                //此为数组 each开始循环  /each结束循环
                hobbies: [
                    '写代码',
                    '打游戏',
                    '听音乐'
                ],
 
                //对应{{ title }}
                title: '个人信息'
            })
            res.end(ret);
        })
    } else {
 
        //其他请求地址
        res.end('404');
    }
})

index.html中为




  
  {{ title }}


  

大家好,我叫:{{ name }}

我今年 {{ age }} 岁了

我来自 {{ province }}

我喜欢:{{each hobbies}} {{ $value }} {{/each}}

Node中require第三方模块(art-template)的规则_第2张图片

你可能感兴趣的:(HTML,js)