Node第二部分-模块及工具

为了让 NodeJs 的文件可以相互调用,NodeJs 提供了一个简单的模块系统。 模块是 NodeJs 应用程序的基本组成部分,文件和模块是一一对应的。换言之,一个 NodeJs 文件就是一个模块,这个文件可能是 JavaScript 代码、JSON 或者编译过的 C/C++ 扩展。

NodeJs的模块

  • 核心模块(只要安装了node就会有的模块,已经被打包到了node.exe文件)
  • 自定义模块(我们自己写的js模块)
  • 第三方的模块(包)

核心模块

  • http
  • url
  • fs
  • ……等

http 模块

在我们的代码中请求它并把返回值赋给一个本地变量

url 模块

  • 用来操作url的
  • url.parse(request.url,true)

fs文件操作模块

var fs = require('fs')
// 读取文件:
// 参数1:文件路径
// 参数2: 文件编码
// 返回值: 文件内容
var data = fs.readFileSync('./index.html','utf8')

// 写入文件
// 第一个参数:是要写入的文件目录,
// 第二个参数:是要写入的内容!
// 这个方法执行时会【覆盖】之前的文件内容!
fs.writeFileSync('./tmp.txt','我是中国人,我爱自己的祖国!')

// 追加文件
fs.appendFileSync('./xx.js','我是小明,我在哪里?\r\n')

 // 创建目录
    // 判断目录是否存在,如果不存在,则创建
    var result = fs.existsSync('data') // 判断当前目录是否存在data目录
    if(!result){
    console.log(result)
    // 创建目录
    fs.mkdirSync('data')// 在当前目录创建data目录
    }

dirname和firename

1, dirname 可在任意文件中直接使用,值表示当前文件所在路径字符串 2, firname 也可以在任意文件中使用,值表示当前文件的包含文件名的完整路径!

按顺序执行就是同步

form表单,提交get请求,会把请求参数添加到url中

重定向!

  • 在响应头里加上 Location:’新地址’,并设置状态为302
  • res.setHeader('key','value')// 设置响应头
  • res.writeHead(状态码)// 设置状态码!
  • 浏览器接收到数据后会重新向新地址跳转!

npm

  • node package manager
  • node的包管理工具,管理的是第三方包
  • 官网
  • 也能管理前端的包

安装包

  • 初始化: npm init
  • npm install <包名>

扩展

离线文档阅读器

es6/es2015 每天一点点

  • const // const申明的数据,在栈中不可变,但是如果是对象,则对应的属性值可以变,也就是堆中的值可变,栈中的地址不可以变!
  • let // let申明的变量,作用由大括号决定!

提交效率

  • 组合键: win+E, 打开资源管理器
  • 组合键: wind+D, 快速切换到桌面
  • 组合键: ctrl+shift+esc 快速打开任务管理器

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏有趣的django

Django用户登录与注册系统

一、创建项目 1.1.创建项目和app django-admin startproject mysite_login python manage.py sta...

1.8K7
来自专栏蜉蝣禅修之道

openipmp安装

1973
来自专栏Porschev[钟慰]的专栏

Nodejs学习笔记(八)--- Node.js + Express 实现上传文件功能(felixge/node-formidable)

前言   前面讲了一个构建网站的示例,这次在此基础上再说说web的常规功能----文件上传,示例以一个上传图片的功能为例子   上传功能命名用formidabl...

2549
来自专栏云计算教程系列

如何在Debian 9上使用mod_rewrite为Apache重写URL

Apache的mod_rewrite模块允许您以更干净的方式重写URL,将人类可读的路径转换为代码友好的查询字符串。它还允许您根据条件重写URL。

1634
来自专栏Linux驱动

13.Linux键盘按键驱动 (详解)

在上一节分析输入子系统内的intput_handler软件处理部分后,接下来我们开始写input_dev驱动 本节目标:        实现键盘驱动,让开发板的...

3755
来自专栏码洞

RPC 服务器之【多进程描述符传递】高阶模型

今天老师要给大家介绍一个比较特别的 RPC 服务器模型,这个模型不同于 Nginx、不同于 Redis、不同于 Apache、不同于 Tornado、不同于 N...

1322
来自专栏IT笔记

Nginx学习之如何搭建文件防盗链服务

大家都知道现在很多站点下载资料都是要收费的,无论是积分还是金币,想免费只能说很少很少了,那么这些网站是如何做到资源防盗链的呢?

1041
来自专栏你不就像风一样

深入理解跨域SSO原理与技术

​ SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登...

1941
来自专栏PhpZendo

PHP 文件系统完全指南

今天我们将开启一个新的探索旅程,深入到 PHP 文件系统中,系统的学习和掌握 PHP 文件系统的基本使用。

1843
来自专栏飞雪无情的博客

Go语言实战笔记(二)| Go开发工具

在Go语言中,我们很多操作都是通过go命令进行的,比如我们要执行go文件的编译,就需要使用go build命令,除了build命令之外,还有很多常用的命令,这一...

1073

扫码关注云+社区

领取腾讯云代金券