export default是什么意思,RN组件的导出关键字:export和export default
export default是什么意思,RN组件的导出关键字:export和export default详细介绍
本文目录一览: export、export default和import用法详解,这一篇就够了
这三个名词功能的出现是为了实现 js 的模块化的,属于es6语法。
这仨没出现之前,我们给 js 按功能分为不同的文件,在 html 文件页面里引用的时候要使用大量的 script 标签,如果都放在一个文件里呢,又可能出现只使用一两个功能,却要引入相对大的一个文件,还有运行环境不同产生的等等问题。
接着 js 模块化即可在js中按需导入模块功能就出现了。
字面意思就可以看出 export 、 export default 负责 导出 , import 则负责 导入 。
export 在一个 js 文件中可以有多个, export default 最多只能有一个。
方式1:先声明后导出,假设 test1.js
方式2:导出与声明一起,假设 test2.js export的函数必须命名
混用:不限个数当然是可以混用的,假设 test3.js
不管上面哪种形式都可以用下面两种方式使用。
使用1:用哪个取哪个,还可以命名别名
使用2:全部取出,对象方式使用
方式1:先声明后导出,假设 test4.js
方式2:导出与声明一起,假设test5.js
方式2这里 fn5 可以是匿名函数如下,这与 export 必须命名函数是一个区别。为什么这里可以是匿名呢?原来 export default 导出的函数在 import 导出的时候都会重新命名,具体意思看下面的示例。
使用: export default 只有一种使用方式
这个 test5 就是我们给 export default function fn5() 或者 export default function() 重新定义的名字。
有心的小伙伴可能注意到这里并没有给出 export default 导出 const | let | var 这种变量的示例,那是因为这种变量是不可以直接像 export 一样直接出现在后面的,多值则需要以对象的形式导出,如下(test6.js):
使用还是跟使用 test5.js 一样的
以上 test7.js 使用的时候,要使用 export default 定义的就只能是 import [name] from './test7.js' 形式, export 也是用自己的那两种方式 import {[name],[name] as [alias]} from './test7.js'(即必须有花括号) 或者 import * as [alias] from './test7.js' ,注意后一种 * 尽管是导出全部的意思,但这并不包括 export default 导出的。
感谢阅读,喜欢的话点个赞吧:) 更多内容请关注后续文章。。。
export、export default 、module.exports详解
javascript没有模块体系,无法将大程序分拆成互相依赖的小文件,再用简单的方法将它们拼装起来.为了解决这个问题,ES6推出了export和export default.
export和export default是es6提出来的,它在编译时就完成模块加载,export命令可以出现在模块的任何位置,只要处于模块顶层即可,如果处于块级作用域就会报错,import也是如此.
从上面图片我们可以看出export后面必须跟变量名和值,可以直接声明或写在一个对象中,都会以键值对的形式导出数据.
以上五种写法都可以,export default后面只能跟值. 总结:export后面必须有变量名和值,导出的数据是键值对形式,而export default后面只能是值,因为它已经有变量名default
require和module.exports是CommonJS规范,它是在运行时加载,就是说运行时才能得到这个对象,module.exports后面跟的值和export default一样
以上五种写法都可以
module.export可以用import来引入,后面可以跟大括号或不跟,跟的话相当于解构赋值,不跟就是整体引入,export也可以用require来引入.require('path.js')或import('path.js')都表示执行这个模块,不会返回值.
export一般导出方法,引入的时候使用大括号按需引入你需要的方法,export default导出对象或数组,比如接口api对象,routes路由数组,但是引入的时候会整体引入,module.exports一般导出对象,可以用import或require整体引入或按需引入,这样子比较灵活,所以module.exports和import使用的场景也挺多的,import只能写在js文件顶部,但是require可以写在任何地方,所以要根据场景不同使用不同方法.
总结:export后面跟变量名和值,import后面是{}或* as 变量名,export default后面跟值,import后面没有{},module.exports后面和export default一样都是值,require后面有{}表示解构赋值,没有表示整体引入,import和require都可以引入export和module.exports,import只能写在js文件顶部,但是require可以写在任何地方.CommonJS模块输出是一个值的拷贝,ES6模块输出是值的引用.CommonJS模块是运行时加载,ES6模块是编译时输出接口.
vue.js里的export default是什么鬼
在JavaScript ES6中,export与export default均可用于导出常量、函数、文件、模块等,你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用,但在一个文件或模块中,export、import可以有多个,export default仅有一个。
具体使用:
1、
//demo1.js
export const str = 'hello world'
export function f(a){
return a+1
}
对应的导入方式:
//demo2.js
import { str, f } from 'demo1' //也可以分开写两次,导入的时候带花括号1212
2、
//demo1.js
export default const str = 'hello world'1212
对应的导入方式:
//demo2.js
import str from 'demo1' //导入的时候没有花括号
export与exports、import与require区别与联系
一、区别于联系
1.module.exports、exports、require是属于CommonJS模块规范。
2.export、export default、import是属于ES6语法
3.module.exports和exports、export和export default都是导出模块。
4.import和require则是导入模块。
5.module.exports导出对应require导入,export导出对应import导入
二、CommonJS规范(exports与require)
Node应用由模块组成,采用CommonJS模块规范。
根据这个规范,每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。
CommonJS规范规定,每个模块内部,module变量代表当前模块。这个变量是一个对象,它的exports属性(即module.exports)是对外的接口。加载某个模块,其实是加载该模块的module.exports属性。
require方法用于加载模块。
三、ES6语法(export、export default、import)
模块功能主要由:export和import构成。export导出模块的对外接口,import命令导入其他模块暴露的接口。
export其实和export default就是写法上面有点差别,一个是导出一个个单独接口,一个是默认导出一个整体接口。使用import命令的时候,用户需要知道所要加载的变量名或函数名,否则无法加载。这里就有一个简单写法不用去知道有哪些具体的暴露接口名,就用export default命令,为模块指定默认输出。
为什么有的地方用module.exports有的地方用export default
和 Vue 无关,和 Webpack 有关。
module.exports 是遵循 CommonJS 模块格式
exports default 是 ES6 的模块化写法
vue中 var vm = new vue 与 export default 有什么区别
这两个是完全不同的概念啊,
new vue 是新建 vue 对象,需要绑定元素的,
而 export default 是将某个对象或者方法暴露出来,这样其它模块就可以通过 import 语句来引用这个对象或者方法
module.exports和export详解
概念:module.exports和exports是属于commonJs规范,export和export default是ES6模块规范。
exports 等于 module.exports,相当于在js文件头部,有一个module对象,module.exports = exports; exports是一个对象,所以可以exports多个值
1、对于要导出的属性,可以简单直接挂到exports对象上
2、对于类,为了直接使导出的内容作为类的构造器可以让调用者使用new操作符创建实例对象,应该把构造函数挂到module.exports对象上,不要和导出属性值混在一起
module.exports 初始值为一个空对象 {}
exports 是指向的 module.exports 的引用
require() 返回的是 module.exports 而不是 exports
也就是: exports = module.exports = {}, exports和module.exports都指向一个引用地址{},如果exports.name = 'xxx',那module.exports = {name:'xxx'},引用对象改变,两者又是同时指向一个对象,所以都改变了。
在 import 的时候可以使用 通配符 * 导入外部的模块: import * as xxx from ‘xxx’: 会将若干export导出的内容组合成一个对象返回; import xxx from ‘xxx’:(export default Din)只会导出这个默认的对象作为一个对象 ; 以上。
RN组件的导出关键字:export和export default
定义组件后为了供其他页面使用,我们需要将组件导出。 组件导出的关键字是
没有加default时,例如:
我们可以在单个js文件里声明多个组件,例如TestComponents.js
这样在其他文件引用时,需要使用{}符号且组件名称必修和class名称一样,像这样子:
而加default时,例如:
然后在其他文件引用,像这样子:
你也可以为这个组件另起一个别名,像这样子:
但是每个文件里只能有 一个 default组件,可以包含其他非default组件:
然后引用的时候,如下:
有default和没有default的区别在于:有default在引用时可以自定义名称,而没有default时需要使用{}括起来且名称必修和class名称一致 每个文件里只能有一个default组件,但可以有多个非default组件
工具类如何引入其他方法
返回主页处泥泞遥,看满山花开。
博客园首页联系管理随笔 - 57 文章 - 14 评论 - 0 阅读 - 30870
vue中常用的几种import(模块、文件)引入方式,export,export default,全部/部分文件的导出/导入
一,import(模块、文件)引入方式
1 引入第三方插件
import echarts from 'echarts'
2.导入 css文件
import 'iview/dist/styles/iview.css';
如果是在.vue文件中那么在外面套个style
3.导入组件
import name1 from './name1'
import name2 from './name2'
components:{
name1,
name2,
},
4.import '@…'的语句
@ 等价于 /src 这个目录,避免写麻烦又易错的相对路径
5.引入工具类
第一种是引入单个方法
import {axiosfetch} from './util';
下面是写法,需要export导出
export function axiosfetch(options) {
}
第二种 导入成组的方法
import * as tools from './libs/tools'
其中tools.js中有多个export方法,把tools里所有export的方法导入
vue中怎么用呢?
Vue.prototype.tools=tools直接用this.tools.method调用就可以了
说到这 export 和 export default 又有什么区别呢?
下面看下区别
先是 export
import {axiosfetch} from './util'; //需要加花括号 可以一次导入多个也可以一次导入一个,但都要加括号
如果是两个方法
import {axiosfetch,post} from './util';
再是 export default
import axiosfetch from './util'; //不需要加花括号 只能一个一个导入
二,export,import和export default的关系
export 与import是es6中新增模块功能最主要的两个命令。
1.export与expor