nodejs 3分钟学会系列教程(2) supervisor commanjs nodejs模块

388 阅读2分钟

1、supervisor 工具使用

  • npm install -g supervisor
  • 安装完成后 使用 supervisor app.js
  • 这个时候 进行的更改 会自动刷新 只需要刷新一下页面就可看到对应的修改

2、Commanjs nodejs模块和自定义模块

  • 新建module 文件夹 下面 新建tools.js(智障掘金 大图片无法粘贴)
function formatApi(api){
    return "http://www.baidu.com/" + api;
}
exports.formatApi = formatApi
  • app.js 引入并且使用
const tools = require("./module/tools.js")
console.log(tools)

  • 函数内 写
var api = tools.formatApi('api/focus')
    res.write(api)

  • app.js 完整代码
// 引入http模块
var http = require("http");
const url = require("url");
const tools = require("./module/tools.js")
// console.log(tools)
// 请求和响应
http.createServer(function(req,res){
   
    //设置响应头
    res.writeHead(200,{"Content-Type":"text/html;charset='utf-8'"});
    //表示页面输出什么 然后结束响应
    res.write("<head><meta charset='utf-8'></head>");
    var api = tools.formatApi('api/focus')
    res.write(api)
    console.log(req.url)  //获取页面url
    if(req.url != '/favicon.ico'){
        var userinfo = url.parse(req.url,true).query;
        console.log(`姓名:${userinfo.name}--年龄${userinfo.age}`)
    }
    res.end();
}).listen(8081);  //监听的端口

console.log('Server running at http://127.0.0.1:8081/')


3、继续 演示一下

1) module 下新建 request.js 模拟请求数据模块

  • 两种暴露方式
  • 对应的两种结果

2)一个需要注意的事情 如果需要引入的内容在 node_modules中 直接引入node_modules下的文件名 即可 不需要写 具体的文件名

  • index.js 里面写点方法
exports.get = function(){
    console.log('从服务器获取数据')
}

exports.post = function(){
    console.log('提交数据')
}

3) 当前存在一个 问题 node_modules下面 再建一个文件夹cy 并且建一个 cy.js 我们尝试一下

  • 为什么找不到呢 ?

因为默认找的是 node_modules 子文件夹下面的 index.js文件 没有这个文件就报错

  • 怎么解决?

第一种方法 我们 可以直接将这个 文件改成 index.js 命名
第二种方法 配置 package.json文件

* cd 到 这个文件夹 npm init --yes (--yes表示强制生成)

生成 package.json文件 就可以 了

原理是 会找到 package.json里的 main 入口文件 cy.js文件

  • 大功告成~!