第一步自然是安装了。我是用Webstorm这个ide,安装分2步:

1、安装nodejs,下载Windows下的安装版本号。注意是以msi为扩展名的,然后下一步。没啥好说的,下载地址例如以下:

32位的msi:http://nodejs.org/dist/latest/

64位的msi:http://nodejs.org/dist/latest/

2、安装WebStorm8.0.3,好像会自己主动找到nodejs的安装路径,不须要配置啥东东。

装好WebStorm,启动它,然后创建项目(New Project)。Project Type记得选择Node.js Express App, 下一步。

Options那里的Template engine。个人推荐使用ejs,不要用默认的Jade。基于跟其他UI美工同学合作的须要,不要让别人再学习一门新东西。

然后点ok,就能够開始干活了。注意,第一次会下载Express和模板引擎等相关js文件,时间比較长,国内环境啊……

另:创建的项目,bin/www文件是启动文件;routes文件夹下是Controller文件,views文件夹下就是View视图了

第二步我是安装Mongodb,安装过程出了一下问题,我是直接进行控制台。在C盘根文件夹下,执行:

npm install mongodb

结果装完,Webstrom的项目里还是用不了Mongodb,后来发现要把它安装到项目所在文件夹,

建议在Webstrom的Tools菜单=》Open Terminal,在这里进行npm安装

注:找了一个国内镜像,安装mongodb非常快,可是无法认到Express的版本号信息了,所以装完mongo我又把镜像删除了。

设置镜像的2种方法:

1、命令行安装:

npm config set registry http://registry.cnpmjs.org
npm info underscore

2、直接编辑node安装文件夹下的npmrc文件。我的文件路径在:C:\Program Files (x86)\nodejs\node_modules\npm

用记事本打开,在最后加入一行:registry = http://registry.cnpmjs.org

再记录一下訪问mongodb并输出数据到view页面的代码吧:

  1. var mongo = require("mongodb");
  2. /* GET home page. */
  3. router.get('/', function(req, res) {
  4. var server = mongo.Server("192.168.189.35", 27017, {});
  5. var db = new mongo.Db('myTestDB', server, {safe:true});
  6. var arr = [];
  7. db.open(function(err, client){
  8. if(err){
  9. throw err;
  10. }
  11. var collection = new mongo.Collection(client, 'myTestColl');
  12. collection.find().toArray(function(err, items){
  13. res.render('index', { title: 'Express展示' , data: items});
  14. });
  15. });
  16. });

Node.js入门笔记的更多相关文章

  1. Node.js入门笔记(6):web开发方法

    使用node进行web开发 用户上网流程: 表面上看:打开浏览器--输入网址--跳转--上网. 背后的过程是什么呢? http请求网址到指定的主机--服务器接收请求--服务器响应内容到用户浏览器--浏 ...

  2. Node.js入门笔记(5):案例两则

    案例分析:前端自动化 1. 实现一个自动创建前端项目文件的js 通过node.js自动创建前端项目目录,包括js目录,js目录css目录,index.html和对应的内容. 初步的代码如下: var ...

  3. Node.js入门笔记(1):基本概念

    Node.js和JavaScript: 核心都是ECMAScrit,比如数据类型,语法结构,内置对象等等. 但是在js中顶层是window 在node中的不存在这个window(console.log ...

  4. Node.js入门笔记(2):全局对象(1)

    以下将以API文档为基础进行分析学习 global对象 这些对象在所有模块里都可用.有些对象不是在全局作用域而是在模块作用域里,这些情况下面文档都会标注出来. __filename--返回当前模块文件 ...

  5. Node.js入门笔记(4):文件系统(fs)

    文件系统(FileSystem) 文件系统模块 对于文件无外乎创建修改添加. File System - 文件系统模块 - require('fs') fs模块是核心模块,需要使用require导入后 ...

  6. Node.js入门笔记(3):全局对象(2)

    buffer 用于更好操作二进制数据,他是一个全局变量.类似数组. var a=new Buffer(); buffer类的三种实现 第一种创建方式 new Buffer(size);size[Num ...

  7. Node.js 入门资料

    小毛驴的阿凡提的 Node.js 入门笔记 http://www.cnblogs.com/Afanty/category/1007304.html

  8. 《Node.js入门》CentOS 6.5下Node.js Web开发环境搭建笔记

    近期想尝试一下英特尔的基于WebRTC协同通信开发套件,所以须要在本地搭建Node.js Web的开发測试环境. 这里讲的是CentOS 下的搭建方法.使用Windows的小伙伴请參考: <No ...

  9. node.js系列笔记之node.js初识《一》

    node.js系列笔记之node.js初识<一> 一:环境说明 1.1 Linux系统CentOS 5.8 1.2 nodejs v0.10.15 1.3 nodejs源码下载地址 htt ...

随机推荐

  1. vbox虚拟机复制&&虚拟机指定静态IP

    一.复制镜像(假设源镜像已经用桥接方式,可以访问互联网). 注意需要重新生成mac地址 二.复制完成,启动复制好的镜像(注意,此时的镜像无法联网) vi /etc/udev/rules.d/70-pe ...

  2. 使用Hilo.JS快速开发Flappy Bird

    http://hiloteam.github.io/tutorial/flappybird.html#_9 Flappy Bird是一款前不久风靡世界的休闲小游戏.虽然它难度超高,但是游戏本身却非常简 ...

  3. Mycat+MySQL 主从复制

    一.主从复制搭建(新环境5.6.33)1.设置复制Master配置信息 [mysqld] #repl master库 server \logbin\mysql-bin max_binlog_size= ...

  4. springboot 集成eureka 超详细配置

    撸了今年阿里.头条和美团的面试,我有一个重要发现.......>>> 原文链接: https://blog.csdn.net/nanbiebao6522/article/detail ...

  5. C# 统一对 try...catch 的调用,方便保存错误日志

    每个优秀的开发人员,应该尽可能保证程序稳定运行,在确实不需要使用try...catch的地方尽尽量不要使用以提高程序性能. 但是我们不可能保证每段代码不会出错,由于出错引起的用户界面并不友好,而且有可 ...

  6. Leetcode94. Binary Tree Inorder Traversal二叉树的中序遍历(两种算法)

    给定一个二叉树,返回它的中序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 递归: class So ...

  7. 如何修改MyEclipse的SVN账户和密码

    如何修改MyEclipse的SVN账户和密码呢? 操作方法:删除C:\Users\Administrator\AppData\Roaming\Subversion\auth\svn.simple文件夹 ...

  8. Gradle:gradle下载插件

    https://github.com/michel-kraemer/gradle-download-task 用法在readme中已经讲的很清楚了,我主要介绍下注意事项吧. 我用这个插件的目的是为了让 ...

  9. 前端js错误日志收集

    今天一个客户说他们的一个同事用OPPO R11的手机访问不了我们的项目,打开后一片空白,虽然后面发现你的手机网络断了,但是想起来毕竟手机端没有调试的工具可以查看抛出的错误信息,方便我们追踪问题,后端的 ...

  10. redis订阅自动退出

    1.打开报错, error_reporting(E_ALL);ini_set('display_errors', '1'); 2.没有报错,不是php最大执行时间问题,原因是socket超时3.有设置 ...