在Windows上安装Node.js模块的方法


Posted in Javascript onSeptember 25, 2011

不过有消息称Microsoft已经联系Node.js官方,相信很快会有改善。
那么在不安装Cygwin的情况下,是否可以在Windows上搭建Node.js环境进行试验开发哪?我以Node.js + express做了个简单测试,基本可行。
步骤如下:

1. 下载Node.js官方非稳定版Windows可执行程序:
http://nodejs.org/#download
我在试验中使用了0.5.7版本:http://nodejs.org/dist/v0.5.7/node.exe

2. 创建c:\nodejs目录,并将node.exe保存在此目录中

3. 下载express。因为依赖关系,我们还需要下载:connect、qs、mime和jade(express默认模板系统。如果你使用其他模板系统,需要下载相应系统)
名称 地址 试验版本
---------------------------------------------------------------
express: https://github.com/visionmedia/express 2.4.3
connect: https://github.com/senchalabs/connect 1.7.1
qs: https://github.com/visionmedia/node-querystring 0.3.1
mime: https://github.com/bentomas/node-mime 1.2.4
jade: https://github.com/visionmedia/jade 0.15.4

4. 创建c:\nodejs\node_modules目录,并在此目录中分别创建[Module]目录。然后将上一步下载的文件压缩,把相关文件拷贝到[Module]目录中。
node_modules
|- connect <= connect: lib/*
|- express <= express: lib/*
|- jade <= jade: lib/*
|- mime <= mime: mime.js & types/*
|- qs <= qs: lib/*

5. 在c:\nodejs\node_modules目录,分别创建以下文件:
connect.js
内容:module.exports = require('./connect/connect');
express.js
内容:module.exports = require('./express/express');
jade.js
内容:module.exports = require('./jade/jade');
mime.js
内容:module.exports = require('./mime/mime');
qs.js
内容:module.exports = require('./qs/querystring');

6. 将下载的express压缩包中的bin/express文件拷贝到c:\nodejs目录,并改名为express.js

7. 修改express.js文件,以下以2.4.3为例:
7.1. 修改mkdir函数体
401: exec('mkdir -p ' + path, function(err){
->exec('md ' + path, function(err){
7.2. 修改mkdir函数调用
263: mkdir(path + '/public/javascripts');
->mkdir(path + '\\public\\javascripts');
264: mkdir(path + '/public/images');
->mkdir(path + '\\public\\images');
265: mkdir(path + '/public/stylesheets', function(){
->mkdir(path + '\\public\\stylesheets', function(){
280: mkdir(path + '/views', function(){
->mkdir(path + '\\views', function(){

8. 创建一个express项目:
c:\nodejs\node.exe express.js -s hello

9. c:\nodejs\node_modules\*.* => c:\nodejs\hello\node_modules\

10. 运行并测试:
c:\nodejs\node.exe hello\app.js
在浏览器中打开:http://localhost:3000,查看结果。

至此测试完成。
下面给出测试文件,在测试文件中我还试验了express session。可以在浏览器中打开:http://localhost:3000/session,查看结果。

试验文件:nodejs.rar

Javascript 相关文章推荐
使用onbeforeunload属性后的副作用
Mar 08 Javascript
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
May 03 Javascript
常用简易JavaScript函数
Apr 09 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
Aug 12 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
Oct 17 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
Jan 26 Javascript
jQuery中的select操作详解
Nov 29 Javascript
javascript 定时器工作原理分析
Dec 03 Javascript
原生JavaScript实现Tooltip浮动提示框特效
Mar 07 Javascript
vue watch自动检测数据变化实时渲染的方法
Jan 16 Javascript
vue3.0 CLI - 1 - npm 安装与初始化的入门教程
Sep 14 Javascript
js实现继承的方法及优缺点总结
May 08 Javascript
javascript权威指南 学习笔记之null和undefined
Sep 25 #Javascript
利用JS自动打开页面上链接的实现代码
Sep 25 #Javascript
javascript权威指南 学习笔记之javascript数据类型
Sep 24 #Javascript
最简单的js图片切换效果实现代码
Sep 24 #Javascript
zShowBox 图片放大展示jquery版 兼容性
Sep 24 #Javascript
也说JavaScript中String类的replace函数
Sep 22 #Javascript
javascript笔记 String类replace函数的一些事
Sep 22 #Javascript
You might like
ajax+php打造进度条代码[readyState各状态说明]
2010/04/12 PHP
PHP中CURL方法curl_setopt()函数的参数分享
2013/01/19 PHP
ci检测是ajax还是页面post提交数据的方法
2014/11/10 PHP
正确的PHP匹配UTF-8中文的正则表达式
2015/05/13 PHP
php封装的mysqli类完整实例
2016/10/18 PHP
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
jQuery ajax 路由和过滤器使用说明
2011/08/02 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
javascript中的 object 和 function小结
2016/08/14 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
2017/12/25 Javascript
浅谈React中组件间抽象
2018/01/27 Javascript
React全家桶环境搭建过程详解
2018/05/18 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
javascript设计模式 ? 单例模式原理与应用实例分析
2020/04/09 Javascript
[32:47]完美世界DOTA2联赛 GXR vs IO 第二场 11.07
2020/11/09 DOTA
python批量替换多文件字符串问题详解
2018/04/22 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
2018/12/07 Python
用python爬取租房网站信息的代码
2018/12/14 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
Python 离线工作环境搭建的方法步骤
2019/07/29 Python
python并发编程多进程 模拟抢票实现过程
2019/08/20 Python
python 实现仿微信聊天时间格式化显示的代码
2020/04/17 Python
详解向scrapy中的spider传递参数的几种方法(2种)
2020/09/28 Python
安装Anaconda3及使用Jupyter的方法
2020/10/27 Python
Python如何使用神经网络进行简单文本分类
2021/02/25 Python
新学期红领巾广播稿
2014/01/14 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
法学求职信
2014/06/22 职场文书
2014小学一年级班主任工作总结
2014/12/05 职场文书
工作失职检讨书范文
2015/05/05 职场文书
外出听课学习心得体会
2016/01/15 职场文书
2016年习总书记讲话学习心得体会
2016/01/20 职场文书
三下乡活动心得体会
2016/01/23 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
pytorch--之halfTensor的使用详解
2021/05/24 Python
Java由浅入深通关抽象类与接口(下篇)
2022/04/26 Java/Android