这一篇用于一点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目录下,又会有另外的一种规则
如果以./ …/ /开始的,那么就是路径加载模式
不以以上开始的模块按照另外一种加载机制进行加载
会按照下规则进行模块查找