在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 相关文章推荐
面向对象的javascript(笔记)
Oct 06 Javascript
jquery实现表格奇数偶数行不同样式(有图为证及实现代码)
Jan 23 Javascript
由点击页面其它地方隐藏div所想到的jQuery的delegate
Aug 29 Javascript
红米手机抢购的js代码
Mar 10 Javascript
Bootstrap学习笔记之css样式设计(2)
Jun 07 Javascript
javascript设计模式之单体模式学习笔记
Feb 15 Javascript
微信小程序 PHP生成带参数二维码
Feb 21 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
Apr 07 Javascript
详解如何将angular-ui的图片轮播组件封装成一个指令
May 09 Javascript
javascript 玩转Date对象(实例讲解)
Jul 11 Javascript
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
Nov 06 Javascript
Vue 实现复制功能,不需要任何结构内容直接复制方式
Nov 09 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
经典的PHPer为什么被认为是草根?
2007/04/02 PHP
[原创]效率较高的php下读取文本文件的代码
2008/07/02 PHP
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
PHP实现重载的常用方法实例详解
2017/10/18 PHP
PHP实现的装箱算法示例
2018/06/23 PHP
js脚本学习 比较实用的基础
2006/09/07 Javascript
不安全的常用的js写法
2009/09/15 Javascript
JavaScript中Cookie操作实例
2015/01/09 Javascript
JavaScript实现基于Cookie的存储类实例
2015/04/10 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
js判断价格,必须为数字且不能为负数的实现方法
2016/10/07 Javascript
JS正则表达式验证中文字符
2017/05/08 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
2017/06/23 jQuery
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
2017/10/17 Javascript
js实现各浏览器全屏代码实例
2018/07/03 Javascript
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
js表达式与运算符简单操作示例
2020/02/15 Javascript
Vue项目中使用mock.js的完整步骤
2021/01/12 Vue.js
在Python中使用SimpleParse模块进行解析的教程
2015/04/11 Python
在Python中处理日期和时间的基本知识点整理汇总
2015/05/22 Python
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
2018/01/11 Python
pycharm中使用anaconda部署python环境的方法步骤
2018/12/19 Python
python matplotlib 画dataframe的时间序列图实例
2019/11/20 Python
vue学习笔记之动态组件和v-once指令简单示例
2020/02/29 Python
Django使用rest_framework写出API
2020/05/21 Python
CSS3制作炫酷的下拉菜单及弹起式选单的实例分享
2016/05/17 HTML / CSS
HTML5视频支持检测(检查浏览器是否支持视频播放)
2013/06/08 HTML / CSS
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
美国家用和厨房电器销售网站:Appliances Connection
2020/01/24 全球购物
编写类String的构造函数、析构函数和赋值函数
2012/05/29 面试题
捷科时代的软件测试笔试题
2015/11/09 面试题
安全生产演讲稿
2014/05/09 职场文书
素质教育学习心得体会
2016/01/19 职场文书
《乙女游戏世界对路人角色很不友好》OP主题曲无字幕动画MV公开
2022/04/05 日漫