nodeJs配置
1. vi /etc/profile
export NODE_HOME=/opt/node-v6.9.1-linux-x64
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
2. 使生效
# . /etc/profile
注意: . 和 /etc/profile 有空格
或者:
让/etc/profile文件修改后立即生效 ,可以使用如下命令:
# source /etc/profile
遇到一个问题: 打开新终端后, npm 不能用。
参考 : http://www.oschina.net/question/942236_162558%3Fsort%3Dtime
在 ~/.bashrc 最下面添加:
export NODE_HOME=/opt/node-v6.9.1-linux-x64
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
3.调试(已过时)
原文链接:Debug Node.js apps with node-inspector
如果你在编写Node.js代码,node-inspector是必备之选,比Node.js的内置调试器好出许多。使用起来跟Chrome的javascript调试器很相似。
使用npm安装:
$ npm install -g node-inspector
然后需要通过浏览器连接到node-inspector,需要启动inspector服务:
$ node-inspector &
最后以debug模式运行node.js应用:
$ node --debug app.js
通过URL http://127.0.0.1:8080/debug?port=5858 就可以进行调试了。
如果 node-inspector 安装失败,可能是依赖没有安装, 尝试使用:
npm info node-inspector
npm i -g node-inspector@其它版本
3原生调试
可以使用原生调试.
如果是 node执行, 添加 debug参数 , node debug main.js
如果是 npm 执行, 在 package.json 的 script 中修改, 如: build : "node debug build/build.js"
然后在Js文件中使用 debugger; 就可以了.
参考 : http://www.cnblogs.com/moonz-wu/archive/2012/01/15/2322120.html
最新的调试方式是: https://nodejs.org/en/docs/inspector/
node --inspect-brk a.js 参数
打开: chrome://inspect/ 即可.
https://juejin.im/entry/5ae2c301518825672b037686
4. await 使用
(async function () {
//必须在这里使用 await 关键字。
})()
// 在外面使用 await 会报错。
Promise 方式实现串行执行:
//串行化执行。
//chain_filter:参数: index, prevResult ,返回下一个Promise,如果不返回下一个Promise,则退出。
jv.line = function (chain_filter) {
return new Promise(function (resolve) {
var _exec = function (index, prevResult) {
var current = chain_filter(index,prevResult);
if (!current) {
return resolve(index,null);
}
current.then(function (res) {
_exec(index + 1, res);
});
};
_exec(0,true);
});
};
var fetchData = function(index){
return new Promise(function(r){
jv.post("").then(list){
if( !list.length){ r(false) ;}
//save data.
//返回值 表示 prevResult
r( list.length == take );
}
});
}
jv.line( function( index , prevResult ){
if( prevResult){
return fetchData(index);
}
});
5. mongodb vs mongoose
看依赖, mongoose 依赖 mongodb , mongodb 依赖 mongo-core
尽量使用 mongodb , 最贴近数据库.
mongoose 驱动,封装的太严重, 就像Java封装一样. 比如 : 插入的时候, 额外增加 _v 属性. Collection 需要定义 Schema , 集合名称强制使用复数.
![]() |
作者:NewSea 出处:http://newsea.cnblogs.com/
QQ,MSN:iamnewsea@hotmail.com 如无特别标记说明,均为NewSea原创,版权私有,翻载必纠。欢迎交流,转载,但要在页面明显位置给出原文连接。谢谢。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
2013-04-22 无法删除表,提示被外键约束引用的解决