require 是赋值过程并且是运行时才执行, import 是解构过程并且是编译时执行。require可以理解为一个全局方法,所以它甚至可以进行下面这样的骚操作,是一个方法就意味着可以在任何地方执行。而import必须写在文件的顶部。
var a = require(a() + ‘/ab.js’)
require的性能相对于import稍低,因为require是在运行时才引入模块并且还赋值给某个变量,而import只需要依据import中的接口在编译时引入指定模块所以性能稍高

在commom.js 中module.export 之后 导出的值就不能再变化,但是在es6的export中是可以的。

----------------------------------------------------------------------------------------------------------------------------------------

写个简单js文件,假设名字为:lib.js 。 假设内容如下:

export const sqrt = Math.sqrt;
export function square(x) {
    return x * x;
}
export function diag(x, y) {
    return sqrt(square(x) + square(y));
}
 
这样就可以在其他地方对lib中定义的属性和方法进行引用,引用方法有两种,也就时import和require。

//方法一
import { square, diag } from 'lib';
console.log(square(11)); // 121
console.log(diag(4, 3));
//方法儿
import * as lib from 'lib';
square = lib.square;
 
还可以设置默认的导出信息,就需要崽lib.js中定义 export default {}。default后面可以接一个参数,也可以接一个数组。书写方法为:

//------ module1.js ------
export default 123;

//------ module2.js ------
const D = 123;
export { D as default };
 
通常比较习惯用第一种。然后用import就可以得到这个数组或则参数。但是import只能用于静态导入,就是必须在文件开始的时候,在最上层就写好。而require就可以实现动态加载。


const incrementCounter = function ({dispatch,state}){
    dispatch(‘INCREMENT‘)
}
export default {
    incrementCounter
}
//require
let myAction = require(‘xxxxx‘);
myAction.default.incrementCounter()

Javascript(es2016) import和require用法和区别相关推荐

  1. es6 import和require用法和区别

    写个简单js文件,假设名字为:lib.js . 假设内容如下: export const sqrt = Math.sqrt; export function square(x) {return x * ...

  2. 路由懒加载import和require用法的区别

    vue-router同步和异步普通用法: // 普通import同步加载用法 import HelloWorld from "@/components/HelloWorld.vue" ...

  3. import和require的区别

    原文地址:https://www.cnblogs.com/sunshq/p/7922182.html import和require的区别 node编程中最重要的思想就是模块化,import和requi ...

  4. Javascript:history.go()和history.back()的用法和区别

    Javascript:history.go()和history.back()的用法和区别  简单的说就是:go(-1): 返回上一页,原页面表单中的内容会丢失:back(): 返回上一页,原页表表单中 ...

  5. import与require的区别

    载入一个模块 import() 与 require() 功能相同,但具有一定程度的自动化特性. 假设我们有如下的目录结构: ~~~ app/ app/classes/ app/classes/MyCl ...

  6. import 和 require

    目录 一.JavaScript 二.webpack 1.require.context 2.require.ensure 一.JavaScript JS 中的require 和 import 区别 二 ...

  7. 微信小程序开发之——import、require和include

    一 概述 require:js代码中引用其他js模块代码 include:wxml文件中引用template模板文件 import:既可以在js代码中导入模块代码,又可以在wxml或wxss文件中导入 ...

  8. python 捕捉 ctrl+c 异常方法, os._exit() 和 sys.exit() 的用法和区别

    这里写自定义目录标题 python 捕捉 ctrl+c 异常方法 第一种方法 第二种方法使用 signal 模块 python 中 os._exit() 和 sys.exit() 的用法和区别 概述 ...

  9. Java多线程问题--schedule函数和scheduleAtFixedRate的用法和区别

    本文内容部分引自<Java多线程编程核心技术>,感谢作者!!! 代码地址:https://github.com/xianzhixianzhixian/thread.git schedule ...

最新文章

  1. 人工神经网络研究的发展及特性,以前不叫人工智能
  2. 通过简单例子 | 快速理清 UML类图中六大关系
  3. JavaScript实现Interpolation search插值查找算法(附完整源码)
  4. Jquery1.6版本后attr的变化
  5. 转:如何把 SQL Server 的自增标志列清零
  6. Grafana实现zabbix数据可视化展示
  7. 自动人脸识别高颜值抖音小姐姐并点赞(python)
  8. Windows环境zip版PostgreSQL数据库安装
  9. 供给、需求、有效供给、有效需求
  10. android qq音乐 本地歌曲,如何将手机qq音乐本地歌曲导入到电脑
  11. windows--XP的140个技巧!
  12. centos7救援模式--rescue模式
  13. react函数式组件传值之子传父
  14. 洪水填充算法_优化洪水相似算法(渗流理论)
  15. 【实习日报】2019年6月下半月 前端开发实习工作日报汇总
  16. 猿创征文|一个.Net过气开发工程师的成长之路
  17. APICloud 多端开发 | 拼团商城项目开发难点
  18. ie java被阻止_解决IE屏蔽Java Applet问题的方法
  19. win10删除.x文件的在“你要如何打开这个文件”的某个无效应用
  20. Dagger2的基本使用

热门文章

  1. 目标检测算法回顾之Anchor free篇章
  2. 腾讯2020 unreal虚幻面试题
  3. java 正则替换cdata_替换xml中的cdata标记
  4. 读取MP3文件内的ID3V2专辑图片并显示
  5. JS实现导出网页表格为Excel
  6. 服务器开机修改grub,ubuntu 修改grub文件
  7. 单片机不起振原因分析(转)
  8. PHP判断IP属于国内国外
  9. 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?(PHP 递推,动态规划)
  10. 如何在echarts生成得到地图上添加标记