写个简单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就可以实现动态加载。
加载方式 | 规范 | 命令 | 特点 |
运行时加载 | CommonJS/AMD | require | 社区方案,提供了服务器/浏览器的模块加载方案。非语言层面的标准。只能在运行时确定模块的依赖关系及输入/输出的变量,无法进行静态优化。 |
编译时加载 | ESMAScript6+ | import | 语言规格层面支持模块功能。支持编译时静态分析,便于JS引入宏和类型检验。动态绑定。 |
const incrementCounter = function ({dispatch,state}){
dispatch(‘INCREMENT‘)
}
export default {
incrementCounter
}
//require
let myAction = require(‘xxxxx‘);
myAction.default.incrementCounter()
分享到:
相关推荐
本篇文章主要介绍了Javascript(es2016) import和require用法和区别详解,具有一定的参考价值,有兴趣的可以了解下
jscodeshift codemod将CommonJS(require / exports)转换为ES Modules(import / export)用于JavaScript / TypeScript 支持 出口产品 命名为export: module.exports.foo = foo以export { foo } 命名为export:...
罗纳 convert require syntax to ES6 import syntax支持的转换const something = require ( "example" ) ; // => import something from "example";const Ben = require ( "person" ) . name ; // => import { name ...
在当前打开的文件中将require语法转换为ES6导入语法 CTRL+ALT+R 可以在找到此扩展程序的cli工具版本 支持的转换 require ( "things" ) . name ( ) ; // => import { name } from "things"; name(); require ( ...
将JSON数据添加到Elasticsearch const elasticbulk = require ( 'elasticbulk' ) ;// some array datavar data = [ ] ;elasticbulk . import ( data , { index : 'movies' , type : 'movies' , host : '...
SimpleSignal是使用TypeScript创建的,但旨在用作标准JavaScript库。 安装 npm install simplesignal 用法 首先,导入您的信号: // Import (JavaScript ES5) var SimpleSignal = require ( 'simplesignal' ) ; //...
它可以在JavaScript和TypeScript中使用,但是在TypeScript项目中,默认情况下您可以获得代码完成的好处。 用法 MoreMath可以用作单独的程序包(在其中充当静态类),也可以导入所需的特定功能。 导入整个包: // ...
允许按其import / require链遍历ECMAScript(JavaScript)文件,构建文件列表,还可以选择执行带有文件名,源和AST的回调。 安装 npm i es-file-traverse 与其他项目的比较 该项目类似于import-visitor ,但是它...
安装# Using npm$ npm install keycode-js --save# Using yarn$ yarn add keycode-js# Using bower$ bower install keycode-js --save用法使用require()或ES / TypeScript import语句导入包: // CommonJSconst ...
安装和基本用法。 用npm安装它: npm install lamb 在node.js中要求它: const _ = require ( "lamb" ) ; 从0.57.0版开始,Lamb被拆分为ES模块,可以利用模块捆绑器的树状摇动功能: import * as _ from "lamb...
安装npm i -S es-aux使用const Aux = require('es-aux')// orconst { camelToKebab } = require('es-aux')import * as Aux from 'es-aux'// orimport { camelToKebab } from 'es-aux'助手函数列表类型判断字符串相关...
ImageKit Javascript SDK允许您在客户端使用实时,和。 该SDK是轻量级的,没有依赖性。 您也可以将其用作ES模块。 安装 使用npm 安装imagekit-javascript npm install imagekit-javascript 现在导入ImageKit ...
它与CSS属性,SVG,DOM属性和JavaScript对象一起使用。 | | 入门 下载 通过npm $ npm install animejs --save 或手动。 用法 ES6模块 import anime from 'animejs/lib/anime.es.js' ; 普通JS const anime = ...
ECMAScript / Javascript中用于键控代码常量的库 有关更多信息, 。 有关所有常量的完整列表,请参见 安装 使用NPM npm install --save key-code 使用凉亭 bower install --save key-code 用法 使用NodeJ 使用...
一个简单JavaScript和弦解析和操作工具 安装 ChordJS在npm上,要安装运行: npm install chordjs 加载require()或import (es2015): var Chord = require ( 'chordjs' ) . default ; import Chord from '...
JS数量是作为UMD和ES模块构建的,可以与Node.js和浏览器一起使用。 它没有依赖项。 安装 使用npm install js-quantities或以以下方式下载最新版本v1.7.6: 用法 Node.js // As CommonJS module const Qty = ...
普通JS const { Option , Some , None , Result } = require ( '@es2/result-option' )Some . of ( 2 )Option . some ( 2 )ECMAScript模块import { Option , Some , None , Result } from '@es2/result-option'Some ...
通过按ctrl + alt + p而不选择任何内容,可以从当前文件转换“导出”和“导出默认值”。 如果在同一文件中有导出和导出默认设置,请按两次。支持这些进口: 从“瞬间”导入瞬间; => const moment = require(“ ...
RBush是用于点和矩形的2D空间索引的高性能JavaScript库。 它基于具有批量插入支持的优化R树数据结构。 空间索引是用于点和矩形的特殊数据结构,它使您可以高效地执行查询,例如“边界框内的所有项目”(例如,比...