nodejs编译less
⑴ 如何使用nodejs搭建开发环境
1.安装NodeJS
1.编译环境
源代码编译器,通常 Unix/linux平台都自带了C++的编译器(GCC/G++)。如果没有,请通过当前发行版的软件包安装工具安装make,g++这些编译工具。
Debian/Ubuntu下的工具是apt-get
RedHat/centOS下通过yum命令
Mac OS X下你可能需要安装xcode来获得编译器
2.网络加密
其次,如果你计划在Node.js中启用网络加密,OpenSSL的加密库也是必须的。该加密库是libssl-dev,可以通过apt-get install libssl-dev等命令安装。
3.手动编译
wget http://nodejs.org/dist/v0.10.26/node-v0.10.26.tar.gz
tar zxvf node-v0.6.1.tar.gz
cd node-v0.10.26
./configure
上面几行命令是通过wget命令下载最新版本的代码,并解压之。./configure命令将会检查环境是否符合Nodejs的编译需要。
make
make install
2.安装NPM
1.NPM的全称是Node Package Manager, 是NodeJs的第三方安装库。
curl http://npmjs.org/install.sh | sh
curl http://npmjs.org/install.sh是通过curl命令获取这个安装shell脚本,按后通过管道符| 将获取的脚本交由sh命令来执行。
2.更改第三方库
npm install underscore
[email protected] ./node_moles/underscore
由于一些特殊的网络环境,直接通过npm install命令安装第三方库的时候,经常会出现卡死的状态。幸运的是国内CNode社区的@fire9 同学利用空余时间搭建了一个镜像的NPM资源库,服务器架设在日本,可以绕过某些不必要的网络问题。你可以通过以下这条命令来安装第三方库:
npm --registry "http://npm.hacknodejs.com/
如果你想将它设为默认的资源库,运行下面这条命令即可:
npm config set registry "http://npm.hacknodejs.com/ "
通过npm安装包。安装好之后会自动被安装到 /usr/local/bin 目录下,而相依的函式库也会自动安装到 /usr/local/lib/node 目录下,实在是非常方便。
3.安装NodeJS调试环境
1.用npm命令安装全局模式的 node-inspector组件
sudo npm install -g node-inspector
2.更改端口
修改 node-inspector/lib/config.js的端口
’web-port’: {
desc: ‘Port to host the inspector’,
convert: conversions.stringToInt,
defaultValue: 6868
},
3.使用
node-inspector启动一个调试工具
在chrome浏览器中输入http://127.0.0.1:6868/debug?port=5858打开chrome的调试模式
使用node debug调试nodeJS项目
node --debug-brk=5858 read.js
可以在chrome中查看到调试信息
4.使用Sublime构建NodeJS
设置Sublime的Builder->>
Tools ->> Build System ->> New Build System
将如下代码写入
{
“cmd”: ["/usr/local/bin/node", “$file”],
“file_regex”: “^[ ]File "(…?)”, line ([0-9]*)",
“selector”: “source.javascript”
}
保存为NodeJs.sublime-build文件
如此可以直接使用Com+B来使用nodejs运行程序
⑵ linux 安装nodejs为什么要先编译
方法/步骤 1 首先从nodejs官方网站下载对应版本的nodejs包。 本篇我们要安装的ubuntu14.04 64位系统上,固选择linux 64位版本。 2 然后将包上传到ubuntu14.04服务器上。 通过xftp工具上传,待上传进度为100%时候执行下一步操作。
⑶ 请教一些Nodejs 编译安装时遇到的问题
请教一些Nodejs 编译安装时遇到的问题
如果同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量被“屏蔽”,即它不起作用。
8.9 变量的存储类别
8.9.1 动态存储方式与静态动态存储方式
前面已经介绍了,从变量的作用域(即从空间)角度来分,可以分为全局变量和局部变量。
从另一个角度,从变量值存在的作时间(即生存期)角度来分,可以分为静态存储方式和动态存储方式。
静态存储方式:是指在程序运行期间分配固定的存储空间的方式。
动态存储方式:是在程序运行期间根据需要进行动态的分配存储空间的方式。
用户存储空间可以分为三个部分:
1) 程序区;
2) 静态存储区;
3) 动态存储区;
全局变量全部存放在静态存储区,在程序开始执行时给全局变量分配存储区,程序行完毕就释放。在程序执行过程中它们占据固定的存储单元,而不动态地进行分配和释放;
动态存储区存放以下数据:
1) 函数形式参数;
2) 自动变量(未加static声明的局部变量);
⑷ node源码系列----编译nodejs-v16
系统window10
安装vs2019(必须)
安装python2.7或者2.8 python3会有问题
必须管理员身份打开cmd,进到node项目目录下执行 vcbuild release进行编译,需要等个十几分钟。
如果出现报错是 Could not find NASM, install it or build with openssl-no-asm. See BUILDING.md,查了下BUILDING.md,总结了下,这里有三种方式 如果指令集是AVX-512需要安装gas(2.26以上) 和nasm(2.11.8以上);如果指令集是AVX2需要安装gas(2.23以上) Xcode llvm nasm ;上面两个都不选,可以加参数跳过openssl-no-asm,我选择了跳过。命令换成vcbuild release openssl-no-asm就ok了。
⑸ 如何系统地学习Node.js
1.《nodejs入门》,才38页,很好,书中项目做一下,学会基础
2.《nodejs开发指南》。180多页,很好,书中项目做一下,知道基础,及基本的配合express,jquery,bootstrap,数据库MongoDB
另附一些node实现书中例子的一些变化使用Express3.0实现<Node.js开发指南
3.开始看express创建初始项目的源代码对比2中的书,发现express更新后新的特性:Migrating from 3.x to 4.x · strongloop/express Wiki · GitHub
看express官网api
英文:Express 4.x - API Reference
中文:Express - api参考
4.之后发现,一个系列课程,从零开始nodejs系列文章:从零开始nodejs系列文章
其中 文章: Node.js开发框架Express4.x:Node.js开发框架Express4.x ,详细介绍了express4项目的基本内容,很好
文章:用Nodejs连接Mysql:用Nodejs连接MySQL,介绍mysql与node基本,及数据库连接池,宕机,连接超时等node问题解决办法,node-mysql官网也有相应英文解决办法
5.node+json:node.js里面怎么创建和解析JSON格式的文件?
更全的是这一个How to parse JSON using Node.js? 但要注意如果require json,只加载一次,更新之后,再使用,可能还是老版本
json不好查看的问题:读写 JSON 文件 · Issue #73 · zhanhongtao/blog · GitHub
6.node邮件验证:Nodejs发邮件组件Nodemailer
选择适合的Node.js授权认证策略
7.很全的node mole Moles · joyent/node Wiki · GitHub
8.文件操作,要么官方文档:File System Node.js v0.12.2 Manual & Documentation,
或者node基础-文件系统node.js 文件操作,有一个要注意的是 存储文件时,比如writefile写路径 要使用path.join(__dirname, “相对于当前文件路径”); 如path.join(__dirname, "../upload/recordList/" + generateID("record") + ".json");,后端要采用这种dirname的形式,前端可以直接写相对于当前文件路径的形式