在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 13 Javascript
javascript性能优化之事件委托实例详解
Dec 12 Javascript
js调出上下文菜单的实例
Dec 17 Javascript
基于JavaScript实现全屏透明遮罩div层锁屏效果
Jan 26 Javascript
node.js实现端口转发
Apr 14 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
Jul 01 Javascript
从零开始学习Node.js系列教程三:图片上传和显示方法示例
Apr 13 Javascript
jQuery中库的引用方法
Jan 06 jQuery
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
Jan 09 Javascript
JavaScript基于数组实现的栈与队列操作示例
Dec 22 Javascript
layui实现鼠标移动到单元格上显示数据的方法
Sep 11 Javascript
layui 上传文件_批量导入数据UI的方法
Sep 23 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
PHP+AJAX实现无刷新注册(带用户名实时检测)
2007/01/02 PHP
php中$this-&amp;gt;含义分析
2009/11/29 PHP
Php 构造函数construct的前下划线是双的_
2009/12/08 PHP
基于php权限分配的实现代码
2013/04/28 PHP
php的$_FILES的临时储存文件与回收机制实测过程
2013/07/12 PHP
四个PHP非常实用的功能
2015/09/29 PHP
yii2安装详细流程
2018/05/23 PHP
thinkphp5+layui实现的分页样式示例
2019/10/08 PHP
Javascript 获取LI里的内容
2008/12/17 Javascript
基于jquery点击自以外任意处,关闭自身的代码
2012/02/10 Javascript
常用jQuery选择器总结
2014/07/11 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
Vue2路由动画效果的实现代码
2017/07/10 Javascript
Python编程实战之Oracle数据库操作示例
2017/06/21 Python
Python排序算法实例代码
2017/08/10 Python
Python读取Word(.docx)正文信息的方法
2018/03/15 Python
Django解决frame拒绝问题的方法
2020/12/18 Python
美国领先的精品家居照明和装饰产品在线零售商:LightsOnline.com
2018/01/23 全球购物
编写函数,将一个3*3矩阵转置
2013/10/09 面试题
AJAX的全称是什么
2012/11/06 面试题
介绍一下Python中webbrowser的用法
2013/05/07 面试题
5个HTML5的常用本地存储方式详解与介绍
2021/03/27 HTML / CSS
师范生实习自我鉴定
2013/11/01 职场文书
环境科学专业个人求职信
2013/12/15 职场文书
大学军训感言1000字
2014/02/25 职场文书
考核评语大全
2014/04/29 职场文书
公司法定代表人授权委托书
2014/09/29 职场文书
学校感恩节活动策划方案
2014/10/06 职场文书
学习保证书怎么写
2015/02/26 职场文书
学校团代会开幕词
2016/03/04 职场文书
goland 恢复已更改文件的操作
2021/04/28 Golang
如何使用Python实现一个简易的ORM模型
2021/05/12 Python
MySQL 分区表中分区键为什么必须是主键的一部分
2022/03/17 MySQL
安装Ruby和 Rails的详细步骤
2022/04/19 Ruby
字节飞书面试promise.all实现示例
2022/06/16 Javascript