半小时,一篇文O基础让你轻松学会node.js


模块化

  在node中,一个js文件就是一个模块化,文件路径就是模块名。到底什么是模块化呢?原生的模块化就相当于使用jq前引入jq的相关文件,如果引入js的顺序发生改变可能下面的js模块一个也不能使用。为了解决这一问题,node提出了模块化系统(类似java语言的标准库)。在node中,模块分为两种,核心模块(node提供的模块)和文件模块(用户自己编写的模块)。

  • 定义一个模块:
/*
	模块的定义
    在node中,每一个js文件中的js代码都是独立运行在一个函数中
 */
function add(a,b){
    return a+b;
}
/*
    模块接口的暴露
    只需要将要暴露的属性和方法,赋值给exports的属性即可
 */
exports.age="20";

  • 引入其他模块:
/*
    在node中,通过require引入外部模块
        require()可以传递一个文件的路径作为参数,node将会自动根据路径引入不同的外部模块
        这个路径可以是相对也可以是绝对路径
        如果使用相对路径必须使用./..开头
        require()会返回一个对象,该对象代表引入的那个模块,通过这个对象使用其他模块中的属性
*/
var md=require("./tool");
console.log(md.name);

页面函数


/*
  在node中又一个全局变量global,与网页的window类似
        在全局变量中的属性和方法都会变成global的属性和方法
     arguments.callee
        这个对象保存的是当前执行的函数对象
*/
       console.log(arguments.callee);//[Function]
       console.log(arguments.callee+"");
       /*
       打印出当前页面的所有内容,并且在代码顶部添加
       function(exports,require,module,_filename,_dirname){
       在代码底部添加
       }
    
     实际上模块中的代码都是包装在一个函数执行的,并且在函数执行时,同时传递了5个实参
         exports:该对象用来将变量或函数暴露到外部
         require:函数,用来引入外部的模块
         module:代表的是当前模块
         filename:当前模块的完整路径
         dirname:当前模块所在文件夹的路径
    */     
    console.log(__filename);//E:\火图网\node\modeul.js
	console.log(__dirname);//E:\火图网\node
   /*
  		module代表的是当前模块本身
		exports就是module的属性
		既可以使用exports导出,也可以使用module.exports导出
	exports 和 module.exports的区别:
        exports只能通过.的方式向外暴露属性和方法
            exports.xxx=xxx;
        module.exports可以通过.的方式也可以直接赋值
            module.exports.xxx=xxx;
            module.exports=xxx;
	*/
	console.log(exports==module.exports);//true

npm的命令

  • npm -v查看npm的版本
  • npm version查看所有模块的版本
  • nprn search包名搜索包
  • npm install/i包名安装包
  • npm removelr包名删除包
  • npm install包名–save安装包并添加到依赖中七士需
  • npm install下载当前项目所依赖的包
  • npm install包名-g全局安装包(全局安装的包一般都是一些工具
      对于npm下载较慢的问题我们可以使用淘宝的npm镜像,通过npm下载的包都放在node_modules的文件夹中,使用时直接引入包名即可.
      如果要了解更多可以参考:npm详解
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值