前言

由于本人在学习NodeJs的express框架时,在Mac电脑上安装express遇到了一个深痛的坑点,特写此文来记录。该坑点的解决方案我在国内的度娘没有找到,问别人也没有方案,最后通过google到一个国外网站找到了解决方法。

简介

express 是一个基于node.js的极简、灵活的web开发框架。可以实现非常强大的web服务器功能。express-generator是 express团队为使用者提供的express项目快速生成工具。

快速创建express项目

1. 安装 express-generator

sudo npm/cnpm i express-generator -g //在管理员权限下全局安装

2. 新建一个存放 express项目的空目录(最好不要中文路径)

cd 新目录路径

3. 通过命令创建 express 项目

express -e projectname (express表示在当前目录下创建express项目,-e 表示使用 ejs 模板引擎,projectname表示项目名称)



项目结构:

bin:执行文件,也是 express 项目启动文件。

public:公共的资源,浏览器可以直接访问的资源。(图片,js,css)

views:服务器端模块文件。

routes:路由处理器,处理浏览器发出不同url的处理程序。

/login function(){ //登录处理程序 };

app.js:express 应用的主文件,该文件主要用于整合其他第三方模块和配置 express 的系统参数。

4. 安装依赖包

cd express项目(进入到创建的 express 项目(如:app)中,再安装依赖包)

npm/cnpm install

通过 package.json 文件

 "dependencies": {
"cookie-parser": "~1.4.4",
"debug": "~2.6.9",
"ejs": "~2.6.1",
"express": "~4.16.1",
"http-errors": "~1.6.3",
"morgan": "~1.9.1"
}

5. 启动 express

  • node app //需要手动添加监听端口的代码(较快)

    在 app.js 文件的 module.exports = app; 前添上监听端口代码,该方式才能启动项目
    app.listen(端口, function(){
console.log('Server is running...');
});

6. 测试项目

打开浏览器,输入 localhost(本机地址):端口 如下:

express-generator安装问题

问题:

通过 sudo npm/cnpm i express-generator -g 命令成功安装 express-generator 后,输入 express --version 命令时,显示:express: command not found.

解决方案:

原因:因为我的 $PATH 不知道 express 在哪

  • 安装好 express-generator 后,会下载相应的文件,找到生成的 express.js 所在的路径

  • 在终端输入:open ~/.bash_profile 打开 bash_profile 文件
  • 添加下面一段到你的 bash_profile 文件中

    export PATH=/Users/vikey/bin(你的 express.js 文件所在的路径):$PATH

  • 保存编辑并回到你的终端。运行 hash -r 命令,然后关闭终端并重启它。
  • 此时再输入 express --version 时,你应该可以看到该命令已经起作用了。

####问题解决参考资料:

Mac node.js express-generator脚手架安装的更多相关文章

  1. Windows下Node.js+Express+WebSocket 安装配置

    Linux参考: Linux安装Node.js 使用Express搭建Web服务器 Node.js是一个Javascript运行环境(runtime).实际上它是对Google V8引擎进行了封装.V ...

  2. 【nodejs笔记1】配置webstorm + node.js +express + mongodb开发博客的环境

    1. 安装webstorm 并破解 2. 安装node (以及express框架) 至官网下载并安装.(http://nodejs.org)v0.10.32   msi  安装后测试,打开命令行, c ...

  3. Node.js Express 框架学习

    转载:http://JavaScript.ruanyifeng.com/nodejs/express.html#toc0 感觉很牛的样子,不过觉得对初学者没太大用,里面很多例子用的api都没有详细的说 ...

  4. Node.js Express 框架

    Node.js Express 框架 Express 简介 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP ...

  5. Node.js系列基础学习----安装,实现Hello World, REPL

    Node.js基础学习 简介 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一 ...

  6. Nodejs学习笔记(六)--- Node.js + Express 构建网站预备知识

    目录 前言 新建express项目并自定义路由规则 如何提取页面中的公共部分? 如何提交表单并接收参数? GET 方式 POST 方式 如何字符串加密? 如何使用session? 如何使用cookie ...

  7. React+Node.js+Express+mongoskin+MongoDB

    首发:个人博客,更新&纠错&回复 采用React + Node.js + Express + mongoskin + MongoDB技术开发的一个示例,演示地址在这里,项目源码在这里. ...

  8. Node.js Express框架

    Express 介绍 Express是一个最小的,灵活的Node.js Web应用程序框架,它提供了一套强大的功能来开发Web和移动应用程序. 它有助于基于Node Web应用程序的快速开发.下面是一 ...

  9. body-parser Node.js(Express) HTTP请求体解析中间件

    body-parser Node.js(Express) HTTP请求体解析中间件 2016年06月08日     781     声明 在HTTP请求中,POST.PUT和PATCH三种请求方法中包 ...

  10. Nodejs学习笔记(六)—Node.js + Express 构建网站预备知识

    前言 前面经过五篇Node.js的学习,基本可以开始动手构建一个网站应用了,先用这一篇了解一些构建网站的知识! 主要是些基础的东西... 如何去创建路由规则.如何去提交表单并接收表单项的值.如何去给密 ...

随机推荐

  1. Java中的小数运算与精度损失

    float.double类型的问题 我们都知道,计算机是使用二进制存储数据的.而平常生活中,大多数情况下我们都是使用的十进制,因此计算机显示给我们看的内容大多数也是十进制的,这就使得很多时候数据需要在 ...

  2. js 实现淘宝无缝轮播图效果,可更改配置参数 带完整版解析代码[slider.js]

    前言:         本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽.         本篇文章为您分析一下原生JS写淘宝无缝轮播图效果 需求分析: ...

  3. JavaScript HTMlL DOM对象(上)

    Dom:document.相当于把所有的html文件,转换成了文档对象. 之前说过:html-裸体的人:css-穿上衣服:js-让人动起来. 让人动起来,就得先找到他,再修改它内容或属性. 找到标签 ...

  4. 全网最清晰的ConstraintLayout教程

    ConstraintLayout是AndroidStudio2.2新增的一个功能,那么这个到底是什么呢?首先第一点我们知道传统的安卓开发,页面基本都是XML编写实现,特别在一些复杂的页面上需要嵌套多层 ...

  5. CentOS 6.5下通过yum安装MongoDB记录

    安装MongoDB 1.创建repo vi /etc/yum.repos.d/mongodb-org-3.6.repo   [mongodb-org-3.6]   name=MongoDB Repos ...

  6. P1468 派对灯 Party Lamps(BIG 模拟)

    题目描述 在IOI98的节日宴会上,我们有N(10<=N<=100)盏彩色灯,他们分别从1到N被标上号码. 这些灯都连接到四个按钮: 按钮1:当按下此按钮,将改变所有的灯:本来亮着的灯就熄 ...

  7. 洛谷 P 4180 次小生成树

    题目描述 小C最近学了很多最小生成树的算法,Prim算法.Kurskal算法.消圈算法等等.正当小C洋洋得意之时,小P又来泼小C冷水了.小P说,让小C求出一个无向图的次小生成树,而且这个次小生成树还得 ...

  8. asyncio异步编程【含视频教程】

    不知道你是否发现,身边聊异步的人越来越多了,比如:FastAPI.Tornado.Sanic.Django 3.aiohttp等. 听说异步如何如何牛逼?性能如何吊炸天....但他到底是咋回事呢? 本 ...

  9. 翻转单词顺序 VS 左旋转字符串

    全部内容来自<剑指offer>. 题目一: 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.为简单起见,标点符号和普通字符一样处理.例如输入字符串“I am a stude ...

  10. js递归实现方式

    定义: 递归函数就是在函数体内调用本函数: 递归函数的使用要注意函数终止条件避免死循环: 递归实现形式: 1.声明一个具名函数,通过函数名调用 function f(a){ if(a<=1){ ...