node总结(三,未完待续)

一.终端常用的命令

1.初始化项目命令:

npm init -y  //它会多一个package.json文件,里面包含项目的信息和模块的信息.

2.安装模块:

 cnpm install  模块名1 模块名2 --save
 简写方式:
cnpm i 模块名1 模块名2  --save

3.根据配置文件安装模块

cnpm install //装了之后会自动多一个node_modules文件夹

二.自己写一个模块

1.什么是模块?什么是模块化?

名词解释:
模块:一个或者一类功能的集合;
模块化:把常用的,或者公共的部分,进行封装,抽取为模块;

2.浏览器端的js和node.js服务器端的js的区别是什么?

2.1浏览器端的js,一个页面中的所有js文件作用域都是同一个,所以需要使用自执行函数进行包裹;
2.2服务器端的js,每个文件都有自己独立的作用域,可以理解为一个新建一个js文件就会帮我们自执行函数包裹了一次,如果要让外部访问到,就要将自己暴露出去.

3.为什么要暴露模块?因为作用域的限制,你不暴露,别人就无法访问!

下面是浏览器端的暴露实例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
<script>


//自执行函数
// (function(){
//   function sayHi1(){
//       console.log("你好吗?");
      
//   }
// })()

// sayHi1();//报错,因为这个方法只有在自执行函数的作用域才生效,外部无法访问 

//--------------------------------------------------------------------------------------------------------
// 如果要访问,可以这么做

//自执行函数

/* (function(w){//形参
function sayHi(){
    console.log("我是一个函数");
    
}
//相当于给window加上这个函数
w.sayHi=sayHi
})(window)//传递一个实参(实参和形参的区别,谁传递真正的值,谁就是实参;谁接收这个值,谁就是形参,形参可以自己取名字)

// 外部调用
sayHi(); //成功调用,因为作用域已经暴露出来,外面可以正常访问*/
//--------------------------------------------------------------------------------------------------------
// 如果有多个函数,可以这么写
//1.自执行函数
(function(w){//w是形参,可以自己取名
    function sayHi(){
        console.log("hi");
        
    };
    function sayHello(){
        console.log("hello");
        
    };
    w.fn={//相当于给window添加fn属性,等于对象,对象里保存两个函数
        sayHi,
        sayHello
    }

})(window)//这个window是实参
//2.函数外面调用
window.fn.sayHi();
window.fn.sayHello();

</script>

下面是服务器端(使用的是node终端)的暴露实例:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值