nodejs
自定义模块
我们创建的每个JS文件都是一个自定义模块,并且具有模块作用域,也就是在一个模块中创建的变量、常量、函数等等一切,都只能在当前模块中使用
优点:
1.共享(导出/暴露)内容给其它模块用,需要使用module.exports导出内容。
2.其它模块,如果需要使用上述导出的内容,可以使用require()加载
文件a.js
function a(){
console.log(1);
}
module.exports={
a
}
文件b.js
//必须带路径,即使是./也不能省略,可以省略后缀
let obj = require('./a')
obj.a()//1
exports和module.exports的区别:
在一个模块中,module.exports指向的对象才是真正导出的内容,默认指向一个空对象
exports指向module.exports
如果给exports一个一个的添加属性,则属性添加给了导出的对象中,没有问题
如果给exports直接赋值一个对象,则exports和module.exports就是两个不同的值了
实际开发中,直接使用module.exports就可以了
画图说明:
内置模块
内置模块是Node.js平台自带的一套基本的API(功能模块),也叫做核心模块。
注意:内置模块加载不能写路径,直接写模块名,这也是与加载自定义模块不一样的地方。
举例:
path模块
地址:http://nodejs.cn/api/path.html
path是Node本身提供的API,专门用来处理路径,如果需要使用直接导入使用即可。
fs模块
“file system”文件系统,该模块可以实现对文件、文件夹的操作;
readFile读取文件
可选的编码格式可以省略,省略后直接打印data是一个Buffer,这个Buffer用toString()方法可以直接转成utf-8格式的内容
注意:文件名最好写绝对路径(最好用拼接路径的方法),不然就会按照执行时的文件路径作为相对路径来执行,可能出现找不到的情况。
writeFile写入文件
写入文件(向文件中加入内容)
特点:
1.这是一个异步方法;
2.如果写入的文件不存在,则会自动创建文件(但是不会递归创建:‘a/b/c/d.js'这种不行)
3.会覆盖文件中原有的内容。
语法:
第三方包管理
npm 初始化
安装卸载
下载地址改为国内下载
总结自定义、第三方(本地、全局)
node版本管理
可以下载nvm进行node版本切换
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!