【Nodejs篇四】Node.js-使用外部模块

目标

当在浏览器中访问 http://localhost:3000/?q=hjq 时,输出 alsotang 的 md5 值,即 a3873b4afab737de6523673f8e989841。

错误端口占用
Error: listen EADDRINUSE :::3000
解决方法
查看线程:
netstat -anp tcp | grep 3000(端口号)
或者OSX "El Capitan"
lsof -i tcp:3000
杀线程:
kill -9 PID

建立 package.json 来管理 Node.js 项目

package.json 文件就是定义了项目的各种元信息,包括项目的名称,git repo 的地址,作者等等。最重要的是,其中定义了我们项目的依赖,这样这个项目在部署时,我们就不必将 node_modules 目录也上传到服务器,服务器在拿到我们的项目时,只需要执行 npm install,则 npm 会自动读取 package.json 中的依赖并安装在项目的 node_modules 下面,然后程序就可以在服务器上跑起来了.
生成package.json文件:

$ npm init

OK,这时会要求我们输入一些信息,乱填就好了,反正这个地方也不用填依赖关系
这次的应用,我们依赖 express 和 utility 两个模块。

$ npm install express utility --save

多了个 --save 参数,这个参数的作用,就是会在你安装依赖的同时,自动把这些依赖写入 package.json。

这时查看 node_modules 目录,会发现有两个文件夹,分别是 express 和 utility

$ ls -l node_modules/

app.js

eg:

var express = require('express');
var utility = require('utility');

var app = express();

app.get('/',function(req,res) {
      // 从 req.query 中取出我们的 q 参数。
  // 如果是 post 传来的 body 数据,则是在 req.body 里面,不过 express 默认不处理 body 中的信息,需要引入 https://github.com/expressjs/body-parser 这个中间件才会处理,这个后面会讲到。
  // 如果分不清什么是 query,什么是 body 的话,那就需要补一下 http 的知识了
  var q = req.query.q;

  // 调用 utility.md5 方法,得到 md5 之后的值
  // 之所以使用 utility 这个库来生成 md5 值,其实只是习惯问题。每个人都有自己习惯的技术堆栈,
  // 我刚入职阿里的时候跟着苏千和朴灵混,所以也混到了不少他们的技术堆栈,仅此而已。
  // utility 的 github 地址:https://github.com/node-modules/utility
  // 里面定义了很多常用且比较杂的辅助方法,可以去看看
  var md5Value = utility.md5(q);

  res.send(md5Value);
});

app.listen(3000, function (req, res) {
  console.log('app is running at port 3000');
});
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • NPM 使用介绍 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用...
    yyshang阅读 3,085评论 0 1
  • JavaScript 模块化编程 网站越来越复杂,js代码、js文件也越来越多,会遇到什么问题? 命名冲突; 文件...
    magic_pill阅读 5,381评论 0 1
  • 个人入门学习用笔记、不过多作为参考依据。如有错误欢迎斧正 目录 简书好像不支持锚点、复制搜索(反正也是写给我自己看...
    kirito_song阅读 7,296评论 1 37
  • 使用v-model 主要HTML: JS: export default { data:{ usern...
    Elle_Tiffany阅读 10,962评论 0 1
  • 01 生活不仅是当下的苟且,还有诗和远方 除了上学的教科书,从小不喜欢读书以至于学生时代每每写作文都是一件...
    阳光下de飞雪阅读 1,648评论 0 0

友情链接更多精彩内容