VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > JavaScript教程 >
  • 8-node

1. 介绍

node是javaScript的运行环境,可以解析和执行javaScript代码

node没有BOM和DOM,只有EcmaScript

node特性:事件驱动;非阻塞的I/O模型;轻量高效

2. npm

npm是node的包管理工具;用来管理javaScript相关的包

  • npm镜像源配置

因为npm默认镜像地址是国外地址,所以改成国内的淘宝镜像

npm config set registry https://registry.npm.taobao.org

  • 安装包

npm install -g全局安装 --save/-S生产环境 -dev/-D开发环境

3. 核心模块

3.1 读写文件

var fs = require('fs');
//读文件
fs.readFile('./demo.html',function (error,data) {
    //成功输出data,失败输出error
    console.log(error); console.log(data.toString());
})
//写文件
fs.writeFile('./demo.html','写入的东西',function (error) {
    console.log(error); console.log(data.toString());
})
//读文件夹
fs.readdir('./node',function (error,data) {
    // 失败输出error,成功输出目录下文件/文件夹名数组
    console.log(error); console.log(data);    
})

3.2 http服务

四步走:

  • 加载http核心模块
  • 创建一个Web服务器
  • 注册request请求事件
  • 绑定端口号,启动服务器
var http = require('http');
var  sever = http.createServer();
sever.on('request',function (request,response) {
    console.log('注册请求事件');             
})
server.listen(3000,function () {
    console.log('请求成功了访问:localhost:3000');    
})
//链式调用
http.createServer().on('request',function (request,response) {
    console.log('注册请求事件');             
}).listen(3000,function () {
    console.log('请求成功了访问:localhost:3000');    
})

3.3 模板引擎art-template

第三方node模块

  • 核心方法
// 基于模板名渲染模板
template(filename, data);
// 将模板源代码编译成函数
template.compile(source, options);
// 将模板源代码编译成函数并立即执行
template.render(source, data, options);//source 模板文件、data需要导入模板的数据
  • 常用语句
<!-- 单 if 判断 -->
{{if value}} 
... 
{{/if}}
<!-- if ... else ... 判断 -->
{{if v1}} 
... 
{{else if v2}}
 ... 
{{/if}}
<!-- 循环 -->
{{each target}}
  {{$index}} {{$value}}
{{/each}}
<!-- 原生语法 -->
<% for (var i = 0; i < target.length; i++) { %>
<%= i %> <%= target[i] %>
<% } %>

target是一个数组,each用于对数组遍历,$index 是数组的下标, $value是数组的值

  1. 浏览器下使用(单html文件)
<script src="https://cdn.jsdelivr.net/npm/art-template@4.13.2/lib/template-web.js"></script>
<body>
    <div id="container"></div>
</body>
<!-- 创建 script 标签创建模板,注意下面几点 -->
    <!-- 1. type="text/该斜杠后可以是 html,template... 不是script即可)" -->
    <!-- 2. 给 script 标签添加 id ,此 id 即为模板 id -->
    <!-- 3.模板 script 标签必须在 template() 方法调用的 script 标签之前 -->
<script type="text/html" id="tpl">
    {{if user}}
    <h2>{{user.name}}</h2>
    {{/if}}
</script>
<script>
    var user = {
        name: 'Template username'
    }
    var html = template('tpl', {user: user})
    var container = document.querySelector('#container');
    container.innerHTML = html;
</script>
  1. node下使用

html文件

<tbody>
    {{each commentsList}}
    <tr>
        <td><span>{{$value.name}}</span></td>
    </tr>
    {{/each}}
</tbody>

外部js文件

let result = [{name:vivy},{name:violet},{name:hitaki}]
let html = template.render(data.toString(), { commentsList: results})
//第二个参数为对象

3.4 mysql

引入流程

var connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'kkk',
    database: 'comment'
});
connection.connect();
let sql = 'SELECT * FROM comments';
connection.query(sql, function (error, results) {
    if (error) throw error;
    console.log(results);
});
connection.end();

sql增删改查语句

selelt * from table;//查询所有
insert into table (id,name) values (1,'vivy');//插入数据
delete from table where id = 1;//删除数据
update table set id = 2, name = 'vivy' where id =1;//修改数据
 

__EOF__

 
  • 本文作者: ReCreyed
  • 本文链接: https://www.cnblogs.com/recreyed/p/node.html

    
    相关教程