在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 相关文章推荐
jQuery数组处理代码详解(含实例演示)
Feb 03 Javascript
js中array的sort()方法使用介绍
Feb 20 Javascript
js实现感应鼠标图片透明度变化的方法
Feb 20 Javascript
js实现页面跳转的五种方法推荐
Mar 10 Javascript
jQuery获取浏览器类型和版本号的方法
Jul 05 Javascript
自己封装的一个简单的倒计时功能实例
Nov 23 Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
Jan 11 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
Apr 10 Javascript
vue数据传递--我有特殊的实现技巧
Mar 20 Javascript
Vue程序化的事件监听器(实例方案详解)
Jan 07 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
Nov 11 Javascript
JavaScript数组reduce()方法的语法与实例解析
Jul 07 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
150kHz到30Mhz完全冲浪手册
2020/03/20 无线电
PHP Zip解压 文件在线解压缩的函数代码
2010/05/26 PHP
PHP下通过file_get_contents的代理使用方法
2011/02/16 PHP
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
php堆排序(heapsort)练习
2013/11/13 PHP
Drupal7中常用的数据库操作实例
2014/03/02 PHP
php动态绑定变量的用法
2015/06/16 PHP
PHP中substr函数字符串截取用法分析
2016/01/07 PHP
简单谈谈php延迟静态绑定
2016/01/26 PHP
php基于单例模式封装mysql类完整实例
2016/10/18 PHP
删除PHP数组中的重复元素的实现代码
2017/04/10 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
Prototype最新版(1.5 rc2)使用指南(1)
2007/01/10 Javascript
jQuery学习4 浏览器的事件模型
2010/02/07 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
2013/03/29 Javascript
javascript DIV实现跟随鼠标移动
2020/03/19 Javascript
JavaScript Array对象详解
2016/03/01 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
2016/10/19 Javascript
利用js+css+html实现固定table的列头不动
2016/12/08 Javascript
快速入门Vue
2016/12/19 Javascript
webpack4.0打包优化策略整理小结
2018/03/30 Javascript
关于TypeScript模块导入的那些事
2018/06/12 Javascript
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
Vue.js实现可编辑的表格
2019/12/11 Javascript
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
python cx_Oracle模块的安装和使用详细介绍
2017/02/13 Python
Python编程实现删除VC临时文件及Debug目录的方法
2017/03/22 Python
几款好用的python工具库(小结)
2020/10/20 Python
CSS3实现图片抽屉式效果的示例代码
2019/11/06 HTML / CSS
详解使用HTML5的classList属性操作CSS类
2017/10/13 HTML / CSS
通知格式
2015/04/27 职场文书
幼儿园2016圣诞节活动总结
2016/03/31 职场文书
tensorflow学习笔记之tfrecord文件的生成与读取
2021/03/31 Python
Python实现文本文件拆分写入到多个文本文件的方法
2021/04/18 Python
python微信智能AI机器人实现多种支付方式
2022/04/12 Python
戴尔Win11系统no bootable devices found解决教程
2022/09/23 数码科技