1-node.js

NodeJs 是什么?

Node.js是一个基于 Chrome V8 引擎的 JavaScript 运行环境

Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。 

NodeJS的安装

文档链接:

版本常识:

  • LTS(稳定版)

  • Current(最新版)

ps:开发环境建议使用LTS(稳定版).

nodejs 跟 javascript 一样吗?

不同.只是语法结构有类似.

nodejs 中有没有 window 对象

没有.nodejs的全局对象叫做 global

如何去运行一个 nodejs 文件

使用终端(cmd、命令行)通过 node <fileName> 的方式来运行 当前的 fileName 这个文件。

在nodejs中 .js后缀可以省略

模块化

commonjs 模块化规范

  •  同步加载

  • 一个nodejs文件就是一个模块

  • 模块如果需要让别人去使用的话,模块内部需要暴露调用接口  module.exports || expprts

module.exports || exports的区别

  1. module.exports 初始值为一个空对象 {}

  2. exports 是指向的 module.exports 的引用

  3. require() 返回的是 module.exports 而不是 exports

  4. 不能直接对 exports 做赋值

其实每一个js文件最上方都有一个

let exports = module.exports;

只是我们看不到而已

nodejs - api

fs
fs.writeFile  //异步写入文件

fs.writeFileSync  //同步写入文件

fs.readFile  //异步读取文件

fs.readFileSync  //同步读取文件
fs.writeFile('message.txt', 'Hello Node.js', (err) => {
  if (err) throw err;
  console.log('It\'s saved!');});

上面代码中,writeFile方法的第一个参数是写入的文件名,第二个参数是写入的字符串,第三个参数是回调函数。

回调函数前面,还可以再加一个参数,表示写入字符串的编码(默认是utf8)。

fs.writeFileSync(fileName, str, 'utf8');

它的第一个参数是文件路径,第二个参数是写入文件的字符串,第三个参数是文件编码,默认为utf8

fs.readFile('./image.png', function (err, buffer) {
  if (err) throw err;
  process(buffer);});

readFile方法的第一个参数是文件的路径,可以是绝对路径,也可以是相对路径。注意,如果是相对路径,是相对于当前进程所在的路径(process.cwd()),而不是相对于当前脚本所在的路径。

readFile方法的第二个参数是读取完成后的回调函数。该函数的第一个参数是发生错误时的错误对象,第二个参数是代表文件内容的Buffer实例

var text = fs.readFileSync(fileName, 'utf8');// 将文件按行拆成数组text.split(/\r?\n/).forEach(function (line) {
  // ...});

readFileSync方法的第一个参数是文件路径,第二个参数可以是一个表示配置的对象,也可以是一个表示文本文件编码的字符串。默认的配置对象是{ encoding: null, flag: 'r' },即文件编码默认为null,读取模式默认为r(只读)。如果第二个参数不指定编码(encoding),readFileSync方法返回一个Buffer实例,否则返回的是一个字符串。

url

url的组成:

一个url: http://www.baidu.com:8080/a/b/c?name=张三&age=18#hash

http: - 协议部分 Agreement part

www.baidu.com - hostname 域名部分

8080 - 端口部分 port

www.baidu.com:8080 - host 地址部分

/a/b/c - 路径部分 pathname

?name=张三&age=18 - search 部分 参数部分

#hash - hash部分

http

用来搭建 web服务器

nodemon

安装:

npm install -g nodemon

查看是否安装成功

nodemon -v

后续,如果是 nodejs 的服务文件,就可以使用 nodemon <filename>

path 模块

处理路径相关问题

path.resove(patha, pathb, pathc...)

如果是以 / 开头的那么 / 前面的会被舍弃 正确写法 ./路径

path.join(patha, pathb, pathc ...)

单纯的把路径拼接起来

俩个全局变量

  • __dirname 是当前文件所在的文件夹的绝对路径

  • __filename 当前文件的绝对路径

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论

精彩评论
  • 2019-04-02 09:01:27

    博主的经典之作终于更新了,每天都会来支持博主的

  • 2019-04-03 09:02:19

    可以,JS还是很好玩的,但总是不会玩,觉得很难

  • 2019-04-12 09:17:25

    博主快更新文章吧,每天都会来支持博主的

Top

分享: