美文网首页
前端开发中关于Node、ES6的模块使用

前端开发中关于Node、ES6的模块使用

作者: wMeSlAx767 | 来源:发表于2018-06-01 12:59 被阅读61次

前端开发中Node的使用已经很普及,但是Node和Brower还是有一些差别。

作为小白最近在使用Vue时遇到一个模块的问题。现记录如下:

ES5之前Javascript没有好的模块管理方式,ES6中添加了exportimport来管理模块,而NodeJS中通过requireexportsmodule.exports来管理模块。

为什么要使用模块呢?
模块是编程语言用来组织、管理、共享代码的手段。在Javascript中一个.js文件就是一个模块。使用模块时就有一个问题,哪些属性、方法希望对方能用,哪些不希望对方用。这就是前文说的几个关键字的作用。

NodeJS的模块管理

Node中没有js文件都包含requireexportsmodule.exportsrequire用于导入模块,exportsmodule.exports用于导出模块。

exports和module.exports是大家经常弄混的。弄明白了其实也很简单。NodeJS中每个js文件都有一个对象 module。module对象包含exports对象。当其require其他模块时NodeJS就是将module.exports对象输出,而exports对象是module.exports的引用。

ES6的模块管理

ES6中通过exportimport来管理模块。使用时要注意{ }的使用。export default在每个模块中只能使用一次,这样在import模块时就可以不用 { }

总结

从上面的介绍能看出NodeJS和ES6是两套不一样的模块管理方式,虽然本质上是一样的。但是在前端开发中就需要注意两者的区别,要知道哪些代码是NodeJS使用,哪些是ES6使用的。比如使用vue的脚手架构建出来的项目,通过Node编译,但是页面的开发却是使用ES6。所以在整个项目中我们能看到两种包的管理方式的存在,但是你也要知道什么时候用什么样的方式。

NodeJS也支持ES6的语法,但并不是100%的支持,比如在node v9.2.0中就不支持import、export,而你可以用let、const。那么有没有办法让Nodejs支持import、export呢?答案是肯定的,使用babel就行(如何使用可以参看引用1)。但是我不太建议在NodeJS中使用ES6的包管理方式,因为NodeJS默认的管理方式就挺好的。

引用

  1. https://www.jianshu.com/p/a9c27b80af9d
  2. http://es6.ruanyifeng.com/#docs/module
  3. http://javascript.ruanyifeng.com/nodejs/module.html

相关文章

  • 前端开发中关于Node、ES6的模块使用

    前端开发中Node的使用已经很普及,但是Node和Brower还是有一些差别。 作为小白最近在使用Vue时遇到一个...

  • WebPack

    1.为什么需要使用打包工具 在现在的前端开发中,我们一般会使用React,Vue等前端开发框架,ES6模块语法,L...

  • npm 那些事儿

    npm和node是现在前端开发必不可少的工具,尤其是随着前端模块化开发的流行,熟练使用npm,可以在开发中让你如鱼...

  • 01-Node 基础使用

    Node 基础使用Node 介绍Node 模块化开发模块成员的导出模块成员的导入Node 系统模块 path 和 ...

  • ReactNative开发必备ES6知识

    引言 现代前端应用通常都会使用ES6进行开发,ReactNative项目同样也会使用ES6进行开发,对于现代前端项...

  • package-lock.json的作用

    前言 模块化开发在前端越来越流行,使用 node 和 npm 可以很方便的下载管理项目所需的依赖模块。packag...

  • 模块

    记录下 commonjs模块和es6模块的使用方法 commonjs模块 Node内部提供一个Module构建函数...

  • 模块化 require 、export、module.expor

    CommonJS模块规范(node)和ES6模块规范 require: node 和 es6 都支持的引入 exp...

  • React native 入门之es6语法小结

    在进行react native开发中,官方建议使用es6语法作为前端开发的支撑,此文档是以es6为基础,因为es6...

  • 关于前端模块化开发

    关于前端模块化开发 1 前端中有哪些模块化开发的规范以及实现方案 2 模块化的开发的好处 3 CommonJS

网友评论

      本文标题:前端开发中关于Node、ES6的模块使用

      本文链接:https://www.haomeiwen.com/subject/bnrhsftx.html