煦煦

web前端

煦煦的个人站~


node知识点

持续更新

零碎点

定义全局变量

global.dbHelper = require( './common/dbHelper' ):这样dbHelper就可以在任何模块内调用。

global.db = mongoose.connect("mongodb://127.0.0.1:27017/test"):数据库的连接也需要定义全局变量

node.js文件中:console.log中文乱码问题

问题:node的.js文件中,当console.log("中文")时,控制台输出会出现乱码现象。

原因:.js文件是以GBK的编码格式保存,??至于为什么暂时没理清内因,待续…………

解决方法:确保.js文件是tuf-8编码格式

express路由中的路由转跳

res.render(静态页面):渲染,返回需要渲染的页面; res.redirect(路由路径):重定向,在路由中实现路由转跳(一般转跳到响应路径的get路由)。

<%- %>、<%= %>

在html中<%-变量%><%=变量%>能直接在页面中展现从后天接收到的数据,它们两的区别在于:

<%=变量%>:会被escapge转义编码

<%-变量%>:输出原始内容, 不会被escape

javascript中:判断一个对象是否为空的方法

var obj={};
if(obj){
	console.log("if-obj为真true");
};

因此,判断一个对象是否为空的方法:

JSON.stringify():将其转换为JSON字符串再判断,如果为空:

JSON.stringify(data) === '{}'//为true

在操作mongodb数据库时,判断一个集合是否为空

JSON.stringify(docs) === '[]'

node中删除文件及文件夹的方法

删除文件:

var fs = require('fs');
fs.unlink(path,callback);

删除文件夹:

var fs = require('fs');
deleteFolder(path);
function deleteFolder(path) {
    var files = [];
    if( fs.existsSync(path) ) {
        files = fs.readdirSync(path);
        files.forEach(function(file,index){
            var curPath = path + "/" + file;
            if(fs.statSync(curPath).isDirectory()) { // recurse
                deleteFolder(curPath);
            } else { // delete file
                fs.unlinkSync(curPath);
            }
        });
        fs.rmdirSync(path);
    }
}