在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 相关文章推荐
原生js实现跨浏览器获取鼠标按键的值
Apr 08 Javascript
jQuery插件 selectToSelect使用方法
Oct 02 Javascript
Javascript中string转date示例代码
Nov 01 Javascript
jQuery中prevUntil()方法用法实例
Jan 08 Javascript
javascript中$(function() {});写与不写有哪些区别
Aug 10 Javascript
JS修改地址栏参数实例代码
Jun 14 Javascript
JS控制静态页面之间传递参数获取参数并应用的简单实例
Aug 10 Javascript
vue的props实现子组件随父组件一起变化
Oct 27 Javascript
详解通过JSON数据使用VUE.JS
May 26 Javascript
分享Bootstrap简单表格、表单、登录页面
Aug 04 Javascript
vue实现瀑布流组件滑动加载更多
Mar 10 Javascript
解决vue+elementui项目打包后样式变化问题
Aug 03 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
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2006/10/09 PHP
PHP使用数组依次替换字符串中匹配项
2016/01/08 PHP
jquery tools之tabs 选项卡/页签
2009/07/25 Javascript
javascript下4个跨浏览器必备的函数
2010/03/07 Javascript
innerHTML 和 getElementsByName 在IE下面的bug 的解决
2010/04/09 Javascript
基于jquery创建的一个图片、视频缓冲的效果样式插件
2012/08/28 Javascript
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
javascript中的if语句使用介绍
2013/11/20 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
jQuery中attr()方法用法实例
2015/01/05 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
2015/06/08 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
Ionic如何创建APP项目
2016/06/03 Javascript
Javascript基础_标记文字的实现方法
2016/06/14 Javascript
AngularJs concepts详解及示例代码
2016/09/01 Javascript
微信小程序 slider 详解及实例代码
2017/01/10 Javascript
微信小程序授权获取用户详细信息openid的实例详解
2017/09/20 Javascript
angular第三方包开发整理(小结)
2018/04/19 Javascript
详解Nodejs mongoose
2018/06/10 NodeJs
Vue中 v-if/v-show/插值表达式导致闪现的原因及解决办法
2018/10/12 Javascript
Vue3 响应式侦听与计算的实现
2020/11/11 Javascript
vue+flask实现视频合成功能(拖拽上传)
2021/03/04 Vue.js
[04:51]TI10典藏宝瓶Ⅱ外观视频展示
2020/08/15 DOTA
python实现定制交互式命令行的方法
2014/07/03 Python
python套接字流重定向实例汇总
2016/03/03 Python
详解python Todo清单实战
2018/11/01 Python
对Python中小整数对象池和大整数对象池的使用详解
2019/07/09 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
2020/06/10 Python
Myprotein荷兰官网:欧洲第一运动营养品牌
2020/07/11 全球购物
英语系本科生求职信范文
2013/12/18 职场文书
公司年会演讲稿范文
2014/01/11 职场文书
烹调加工管理制度
2014/02/04 职场文书
辞职申请书范本
2019/05/20 职场文书
导游词之黄帝陵景区
2019/09/16 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书
Mysql如何实现不存在则插入,存在则更新
2022/03/25 MySQL