学习nodejs的一点笔记
>>1、模块:一个文件即为一个模块
1)global可以声明全局变量 (跨模块)
例如:global a = 100;
console.log(global.a); //输出100
2)module对象:当前模块的filename、子模块等信息
3)module.expors.obj //将obj对象声明为全局对象
4)__filename :当前模块的路径
5)A模块访问B模块变量的方法(A模块已经加载B模块):
a、global.v=value; //不推荐
b、module.expors.v
>>2、模块加载:require(‘fs’);
1)路径_查找步骤
a、文件在硬盘的相对/绝对路径 =>加载对应文件
b、无路径只有文件名 => 加载node核心模块或者node_modules下
例如:require(‘main.js’);
2)后缀_查找步骤
a、首先安装加载的文件名称加载
b、如果没有查找到则在文件名后加.js后缀
c、添加.json后缀
e、加.node后缀
f、报错
>>3、文件操作
先引入文件模块:var fs = require(‘fs’);
1)、写文件
例:(同步方式)
var write_file = function(_info){
fpath = process.cwd()+"\\option.json"; //指定目标文件
file = fs.openSync(fpath,"a"); //打开文件(同步、追加方式、若不存在则创建)
infoString = JSON.stringify(_info); //对象转json
fs.writeFile(file,infoString,function(){ //写入文件
if(err){ //有错报错
return console.error(err);
}
});
}
附文件打开方式:
| r | 以读取模式打开文件。如果文件不存在抛出异常。 |
| r+ | 以读写模式打开文件。如果文件不存在抛出异常。 |
| rs | 以同步的方式读取文件。 |
| rs+ | 以同步的方式读取和写入文件。 |
| w | 以写入模式打开文件,如果文件不存在则创建。 |
| wx | 类似 'w',但是如果文件路径不存在,则文件写入失败。 |
| w+ | 以读写模式打开文件,如果文件不存在则创建。 |
| wx+ | 类似 'w+', 但是如果文件路径不存在,则文件读写失败。 |
| a | 以追加模式打开文件,如果文件不存在则创建。 |
| ax | 类似 'a', 但是如果文件路径不存在,则文件追加失败。 |
| a+ | 以读取追加模式打开文件,如果文件不存在则创建。 |
| ax+ | 类似 'a+', 但是如果文件路径不存在,则文件读取追加失败。 |
2)、读文件
fs.read(fd, buffer, offset, length, position, callback) //异步方式
3)、关闭文件
fs.close(fd, callback)
这块我就不啰嗦了,手册是个好东西
>>4、模板引擎的配置和使用
var express = require("express"); //当然要先包含模板引擎模块
var swig = require("swig"); //加载模板处理模块
var app = express(); //创建app
//1)、定义要使用的模块
app.engine('html',swig.renderFile); //engine(“模板后缀”,“用于解析处理模板内容的方法”)
//2)、设置模板文件存放的目录
app.set("views","./views"); //set(“必须是views”,“目录”)
//3)、注册所使用的模板引擎
app.set("view engine","html"); //set("","")
未完,待续……
学习nodejs的一点笔记的更多相关文章
- phpunit测试学习 1:一点简单的扼要有用的东西的总结 一点入门认识
16:45 2015/12/8phpunit测试学习 1:一点简单的扼要有用的东西的总结 一点入门认识 具体的入门安装和入门实践请参照文中的推荐博客或网上其他博客推荐博客,我感觉这几篇博客写得很不错 ...
- canvas学习之API整理笔记(二)
前面我整理过一篇文章canvas学习之API整理笔记(一),从这篇文章我们已经可以基本了解到常用绘图的API.简单的变换和动画.而本篇文章的主要内容包括高级动画.像素操作.性能优化等知识点,讲解每个知 ...
- 学习Nodejs之mysql
学习Nodejs连接mysql数据库: 1.先安装mysql数据库 npm install mysql 2.测试连接数据库: var sql = require("mysql"); ...
- 学习Logistic Regression的笔记与理解(转)
学习Logistic Regression的笔记与理解 1.首先从结果往前来看下how logistic regression make predictions. 设我们某个测试数据为X(x0,x1, ...
- 我是如何学习NodeJs
实际上在开始的时候我已经对NodeJS有了一定的了解. 比如我知道它是居于Javascript语言的服务器端web Server,比如我知道它的优势在于它的性能,而造成性能优异的原因在于高效的V8引擎 ...
- 学习javascript 的一点感想
原文:学习javascript 的一点感想 //动态性是指,在一个Javascript对象中,要为一个属性赋值,我们不必事先创建一个字段,只需要在使用的时候做赋值操作即可,如下例:var obj=ne ...
- 初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助
初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助,如果有bug或者更好的优化方案,也请批评与指正,谢谢,代码如下: var fs = require('f ...
- 关于最小生成树,拓扑排序、强连通分量、割点、2-SAT的一点笔记
关于最小生成树,拓扑排序.强连通分量.割点.2-SAT的一点笔记 前言:近期在复习这些东西,就xjb写一点吧.当然以前也写过,但这次偏重不太一样 MST 最小瓶颈路:u到v最大权值最小的路径.在最小生 ...
- 转载-《Python学习手册》读书笔记
转载-<Python学习手册>读书笔记 http://www.cnblogs.com/wuyuegb2312/archive/2013/02/26/2910908.html
- python学习第五次笔记
python学习第五次笔记 列表的缺点 1.列表可以存储大量的数据类型,但是如果数据量大的话,他的查询速度比较慢. 2.列表只能按照顺序存储,数据与数据之间关联性不强 数据类型划分 数据类型:可变数据 ...
随机推荐
- RAW镜像格式介绍
本文分享自天翼云开发者社区<RAW镜像格式介绍>,作者:z****n RAW(Raw Disk Image)是一种简单而基本的虚拟化镜像格式,用于存储虚拟机的磁盘内容.它是一种原始的二进制 ...
- Netty高级使用与源码详解
粘包与半包 粘包现象 粘包的问题出现是因为不知道一个用户消息的边界在哪,如果知道了边界在哪,接收方就可以通过边界来划分出有效的用户消息. 服务端代码 public class HelloWorldSe ...
- RabbitMQ(六)——路由模式
RabbitMQ系列 RabbitMQ(一)--简介 RabbitMQ(二)--模式类型 RabbitMQ(三)--简单模式 RabbitMQ(四)--工作队列模式 RabbitMQ(五)--发布订阅 ...
- 微信小程序如何访问带有Token安全认证的API
展开微信小程序访问Token安全验证的API接口API//添加一个自定义过滤器using Newtonsoft.Json;using System;using System.Collections.G ...
- 【Abaqus】Composite Layup建模
abaqus 的3个复合材料建模途径: 传统的material->section->orientation->step->job的建模方式 Composite Layup建模方 ...
- 【多进程并发笔记】Python-Multiprocess
目录 调用函数后,函数内的变量如何释放? python2.7怎么使用多线程加速for loop 多进程进程池,函数序列化错误的处理 Time模块计算程序运行时间 使用多进程,Start()后,如何获得 ...
- mysql 2003远程访问失败 mysql8配置远程访问
# mysql -uroot -p #进入数据库 > use mysql;#进入数据库 > select host, user, authentication_string, plugin ...
- HIVE带中括号的列名取数
某次取数,某表中有奇怪的字段名:pointchange_ygz_[yyyy],带了个中插号,用简单查询出错 select pointchange_ygz_[yyyy] as p from t 出错信息 ...
- 使用SVM在数字验证码识别中的应用研究课程报告
第1章 概要设计 1.1 设计目的 支持向量机作为一类强大的监督学习模型,以其出色的泛化能力,在手写数字识别.面部检测.图像分类等多个领域展现出了其优越性.其在处理小样本.非线性及高维模式识别任务中表 ...
- SpringBoot原理分析-1
SpringBoot原理分析 作为一个javaer,和boot打交道是很常见的吧.熟悉boot的人都会知道,启动一个springboot应用,就是用鼠标点一下启动main方法,然后等着就行了.我们来看 ...