node js学习 [第一篇] 规范 读取文件 嵌套【新手向】

这一篇用于一点node知识都不懂的小白们

【本人小前端,近来学Node】总结了一些经验。所以丸子先发一点小教程出来

  • 目录
  • 1,Node是什么
  • 2,第一个简单的node
  • 2,node的嵌套,基础知识

Node是什么

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。 
简单的说 Node.js 就是运行在服务端的 JavaScript。
中文官网 http://nodejs.cn/
英文官网 https://nodejs.org

谁适合阅读本教程?

如果你是一个前端程序员,你不懂得像PHP、Python或Ruby等动态编程语言,然后你想创建自己的服务,那么Node.js是一个非常好的选择。

Node.js 是运行在服务端的 JavaScript,如果你熟悉Javascript,那么你将会很容易的学会Node.js。

当然,如果你是后端程序员,想部署一些高性能的服务,那么学习Node.js也是一个非常好的选择。

学习本教程前你需要了解
在继续本教程之前,你应该了解一些基本的计算机编程术语。如果你学习过Javascript,PHP,
Java等编程语言,将有助于你更快的了解Node.js编程。
我们可以使用以下命令来查看当前的 Node 版本:
node -v

第一个nodejs

在本地新建一个1.js
1.js在demo下面
在这里插入图片描述

var a = 1;
console.log(a)

在这里插入图片描述

介绍模块

在这里插入代码片
每一个模块都有一个内置对象  module
 可以console.log(module)
该对象包括当前模块文件所拥有的一些信息
module.ID:当前模块的唯一标识
默认是模块的绝对路径
filename当前模块的文件

2.node js嵌套

首先exports跟 module.exports都是导出对象
这样讲吧,我现在新建一个2.js
里面也有个a,然后我的1.js想要访问2.js里面的a,就需要2.js把里面的a给导出 这时就需要用到exports或者
module.exports 当你输出exports===module.exports的时候就会发现是true
但其实这两个有不同,
module.exports是系统自带的。本身的
而且exports是省略写的。
但又有不一样,比如导出多个数据的时候

文件嵌套


exports = {
        a: 10,
        b: 100
    }
    module.exports = {
        a: 10,
        b: 100
    }
  这两者的不同  
  那exports打印出来是空的,但module.exports是没问题的
  具体区别:
  类似面向对象,引用值
  var obj1={x:1,y:2}
  var obj2=obj1
  obj2.z=10
  console.log(obj1)
  也会出现obj1=10
  

在这里插入图片描述
但如果

obj2={
z:10
}

var obj1={x:1,y:2}
  var obj2=obj1
  obj2={
		z:10
		}
  console.log(obj1)

在这里插入图片描述
obj2.z是在原有的地址上增加了一个z
obj2={z}把obj2指向了一个新的地址,和obj1没有任何关联

回到之前的问题

var module={
exports:{}
}

exports.a=2

exports={
a:2
} 但如果做这个,就把module.exports关系砍断了

module.require 是module.exports里面的东西
批量导出就用module.exports

文件夹模块嵌套
当我们导入的模块是一个文件夹的时候,就会引入文件夹模块导入机制
新建 m1文件

在这里插入图片描述
m1/1.js
在这里插入图片描述
在这里插入图片描述
如果我们文件夹里面没有package.json文件的时候,就会自动的引用Index.js
在这里插入图片描述
index.js
但如果我想它给我加载1.js
在这里插入图片描述
在这里插入图片描述
当我们导入模块是文件夹的时候
1,读取该文件夹下的package.json
2.导入pageage.json文件的main指定文件
3,如果不存在会默认选中Index.js

如果导入的模块是有node_modules目录下,又会有另外的一种规则
如果以./ …/ /开始的,那么就是路径加载模式
不以以上开始的模块按照另外一种加载机制进行加载
会按照下规则进行模块查找

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_28008615/article/details/88824368
今日推荐