在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代码
Dec 04 Javascript
使用jQuery的attr方法来修改onclick值
Jul 07 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
Sep 01 Javascript
Node.js使用Express创建Web项目详细教程
Mar 31 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
Apr 13 Javascript
深究AngularJS中$sce的使用
Jun 12 Javascript
requirejs + vue 项目搭建详解
Jun 16 Javascript
Vue组件选项props实例详解
Aug 18 Javascript
react router 4.0以上的路由应用详解
Sep 21 Javascript
Vue Router的懒加载路径的解决方法
Jun 21 Javascript
Vue.js 父子组件通信的十种方式
Oct 30 Javascript
uni-app 微信小程序授权登录的实现步骤
Feb 18 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
BBS(php &amp; mysql)完整版(六)
2006/10/09 PHP
php绝对路径与相对路径之间关系的的分析
2010/03/03 PHP
PHP为表单获取的URL 地址预设 http 字符串函数代码
2010/05/26 PHP
一个简单php扩展介绍与开发教程
2010/08/19 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
2013/06/21 PHP
Symfony2在Nginx下的配置方法图文教程
2016/02/04 PHP
PHP重定向与伪静态区别
2017/02/19 PHP
PHP abstract与interface之间的区别
2013/11/11 Javascript
JS、CSS加载中的小问题探讨
2013/11/26 Javascript
javascript贪吃蛇完整版(源码)
2013/12/09 Javascript
JS验证邮件地址格式方法小结
2015/12/01 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
2016/01/18 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
2016/05/20 Javascript
JS中使用mailto实现将用户在网页中输入的内容传递到本地邮件客户端
2016/10/08 Javascript
jQuery.Form上传文件操作
2017/02/05 Javascript
JS之if语句对接事件动作逻辑(详解)
2017/06/28 Javascript
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
2017/09/20 jQuery
Bootstrap框架建立树形菜单(Tree)的实例代码
2017/10/30 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
2017/12/26 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
vue实现pdf导出解决生成canvas模糊等问题(推荐)
2018/10/18 Javascript
js中null与空字符串&quot;&quot;的区别讲解
2019/01/17 Javascript
python二叉树的实现实例
2013/11/21 Python
Python callable()函数用法实例分析
2018/03/17 Python
Selenium chrome配置代理Python版的方法
2018/11/29 Python
基于Tensorflow高阶读写教程
2020/02/10 Python
jupyter notebook 多行输出实例
2020/04/09 Python
英国曼彻斯特宠物用品品牌:Bunty Pet Products
2019/07/27 全球购物
Fanatics官网:运动服装、球衣、运动装备
2020/10/12 全球购物
三项教育活动实施方案
2014/03/30 职场文书
合作协议书
2014/04/23 职场文书
商业门面租房协议书
2014/11/25 职场文书
个人事迹材料范文
2014/12/29 职场文书
Django debug为True时,css加载失败的解决方案
2021/04/24 Python
Typescript类型系统FLOW静态检查基本规范
2022/05/25 Javascript
Python first-order-model实现让照片动起来
2022/06/25 Python