初识node之模块化概念的理解,并了解module.exports exports export default 的区别

一直没机会静下来好好学习一下node,趁着工作不忙,今儿来学习一下,工作期间用到过好几次node自带的模块,功能异常强大好用。

要学习node 先要弄懂 什么是模块化,因为node本身就是一个个的模块依赖组成的,这些模块是基于commonJS的规范的,重点来了:

module.exports 用来向外部暴露出当前模块的方法,写法:

module.exports = xxx  或者 exports.a = a  两种写法,推荐第一种,第二种算是 第一种的一个引用,是个对象object。只能对 对象里面的属性进行 赋值,不能这样 exports = a;这样直接修改exports是不对的。

其他模块引入的时候,这样写 var A  = require(文件路径);这样 A 就可以访问到引入模块中的方法和变量了。

学到这里 我就有疑惑了,因为我在之前公司大佬搭建的项目中遇到,在构建工程的是时候,配置文件js中用的是module.exports 而在写代码的时候 用的是export default 或者export 暴露出 ,用import 引入来使用,那这两种有什么区别呢?

原来, export default 和 export  import  是ES6的模块规范,因此两种 都可以是使用,只要支持node和ES6语法就可以。ES6的写法:

export default {a, b, c} 或者 export const  a = function() {}

然后其他模块使用的时候,import A from(‘文件路径’),这样A就可以访问 引入的模块的方法和变量了。

对了,对于 内部的模块依赖的引入 不需要指定的路径,直接引入名字就可以,比如引入vuex,直接

import { mapState, mapActions, mapGetters } from 'vuex';

猜你喜欢

转载自blog.csdn.net/qq_33505829/article/details/89886037