持续更新
零碎点
定义全局变量
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);
}
}