JS 中require和import总结

简介: 都是为了js模块化编程遵循规范require 是AMD规范引入方式import 是es6的一个语法标准,需要转换成es5的语法才能兼容浏览器调用时间require是运行时调用,所以require理论上可以运用在代码的任何地方import 是编译时调用,所以必须放在文件头部...

都是为了js模块化编程

遵循规范

  • require 是AMD规范引入方式
  • import 是es6的一个语法标准,需要转换成es5的语法才能兼容浏览器

调用时间

  • require是运行时调用,所以require理论上可以运用在代码的任何地方
  • import 是编译时调用,所以必须放在文件头部

本质

  • require 是赋值过程,其实require的结果就是对象、数字、字符串、函数等,再把require的结果赋值给某个变量
  • import 是解构过程,但是目前所有的引擎都还没用实现import,所以需要babel进行转码,把import转码为require

require/exports写法

const fs = require('fs')

exports.fs = fs
module.exports = fs

import/export写法

导入

import utils from 'utils'
import {default as newName} from 'utils'
import * as newName from 'utils'
import {isPhone} from 'utils'
import {isPhone as isPhone2} from 'utils'
import utils, {isPhone} from 'utils'

导出

export default utils
export const utils
export function utils
export { isPhone, isObject }
相关文章
|
7月前
|
JavaScript 前端开发
JS require 与 import 的区别
JS require 与 import 的区别
212 1
|
7月前
|
JavaScript 前端开发
JS中 require 与 import 的区别
JS中 require 与 import 的区别
|
4月前
|
JSON JavaScript 前端开发
javascript import maps 特性现已被全部主流浏览器支持
javascript import maps 特性现已被全部主流浏览器支持
|
前端开发
【前端异常】解决前端引入Bootstrap的dropdowns 菜单时报错,Uncaught TypeError: Bootstrap‘s dropdowns require Popper.js
【前端异常】解决前端引入Bootstrap的dropdowns 菜单时报错,Uncaught TypeError: Bootstrap‘s dropdowns require Popper.js
125 0
|
JavaScript
js文件中的require以及import 等语句中的{ }的作用
js文件中的require以及import 等语句中的{ }的作用
|
JavaScript 前端开发 编译器
JS ES6中export和import史上最全
JS ES6中export和import史上最全
|
Web App开发 JSON JavaScript
前端技术ES6新特性解构字符串扩展表达式箭头函数对象拓展运算符map 和 reduce Promise 模块化export import及Node.js
ECMAScript 6.0(以下简称 ES6,ECMAScript 是一种由 Ecma 国际(前身为欧洲计算机制造商协会,英文名称是 European Computer Manufacturers Association)通过 ECMA-262标准化的脚本程序设计语言)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了,并且从 ECMAScript 6 开始,开始采用年号来做版本。即 ECMAScript 2015,就是 ECMAScript6。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
99 0
|
JSON JavaScript 前端开发
Node冷门知识点—— node.js支持import语法
Node冷门知识点—— node.js支持import语法
1001 0
|
JavaScript 前端开发
js中的import和export
# 引言 我们在开发时,如果将 JavaScript 加载到页面中,通常是以小片段的形式提供效果和交互,一般会把所有的 JavaScript 代码全都写在一个文件中,并加载到一个 `script` 标签中。尽管可以把 JavaScript 拆分为多个文件,但是所有的变量和函数仍然会被添加到全局作用域中。 由此我们需要使用第三方代码来完成常见任务,并且需要把代码分解为模块化的文件,避免污染全局命名空间。 ECMAScript 2015 规范在 JavaScript 语言中引入了 *module*,也有了 import 和 export 语句。 `import`和`eport`声明共同作用