一、模块化开发之前我们做过一个练习,使用node运行一个js文件。但是在实际项目开发中,不可能将全部代码都写在一个文件中。node为我们提供了模块化的语法,每一个js文件都可以当做一个模块:require()引入一个外部模块module.exports暴露模块接口现在我们实现一个加法计算的功能,在一个add.js文件中编写一个加法函数,然后用module.exports暴露这个方法,然以在创建一个入口文件main.js引入这个加法函数,并通过加法函数计算结果。示例代码如下所示://add.js定义一个模块,处理加法和减法functionadd(a,b){returna+b;}module.exports=add;//main.js引入外部模块,使用加法和减法函数constadd=require(./add);letresult=add(10,20);console.log(result)可以看到在命令行中输出运算结果30。ES的模块化语法这里需要补充一个知识点,在ES中的模块化语法与node的模块化语法略有差异,如下所示import引入外部模块export暴露模块接口在vue的课程中,我们会使用到ES的模块化语法,这里不做深入讨论。外部模块上面我们已经学习了使用require可以引入一个自定义的外部模块,其实其实引入的外部模块有三种情况:核心模块:核心模块是node自带的模块,可以在require引入后直接使用。自定义模块:自定义模块是我们自己编写的,上面模块化的例子中,add.js文件就是一个自定义模块。引入自定义模块需要些完整的路径。第三方模块:使用npm下载的模块是第三方模块,下载完成后可以使用require直接引入本章后续内容我们会讲解第三方模块的使用,本节只讲解常用的核心模块。二、核心模块fsfs模块是node的文件系统模块,通过此模块的readFile方法可以读取文件,我们新建一个readFile.js文件,然后在其目录同级创建一个txt文件,内容为hellonode,然后编辑readFile.js文件,代码如下所示:constfs=require(fs);fs.readFile(hello.txt,(err,data)={if(err){console.log(err);}console.log(data.toString());})然后在此目录下执行nodereadFile.js在示例代码中,fs的readFile方法有两个参数第一个参数是读取文件的地址第二个参数是一个回调函数如果读取文件失败,回调函数的第一个参数err会显示错误信息,如果读取文件成功,则err为null。data是一个buffer类型,我们暂时不用理解,只要知道data.toString可以把buffer类型转换成字符串即可。程序运行最终结果会在命令行中输出hellonode本节我们主要的学习目标是了解如何使用核心模块,所以关于fs模块的更多使用方法,本节不再展开描述。pathpath模块提供了一些用于处理文件路径的小工具,例如我们可以用path的join方法链接两个路径,实例代码如下所示。constpath=require(path);letdomain=
转载请注明:http://www.aierlanlan.com/rzgz/8982.html