精华内容
下载资源
问答
  • export导出: 假设文件名为a.js //导出 写法一 ,一个个导出 export function ceshi1(){ console.log('ceshi1') } export function ceshi2(){ console.log('ceshi2') } 写法二,一起导出 ...

    export导出:

       假设文件名为a.js

    //导出
    
        写法一 ,一个个导出
             export function ceshi1(){
                console.log('ceshi1')
             }
    
             export function ceshi2(){
                console.log('ceshi2')
             }
        
        写法二,一起导出
             
             function ceshi1(){
                console.log('ceshi1')
             }
    
             function ceshi2(){
                console.log('ceshi2')
             }
             export { ceshi1, ceshi2}
    
        写法3,通过重命名导出,同时可以实现一个函数被多次重命名
    
             function ceshi1(){
                console.log('ceshi1')
             }
    
             function ceshi2(){
                console.log('ceshi2')
             }
             export { 
               ceshi1 as c1,
               ceshi2 as c2,
               ceshi2 as d2
            }
    
    
    //对应的引入方式
    
      (1)直接引入
            import { ceshi1,ceshi2 } from "a.js"  
           //调用 
              ceshi1();
              ceshi2();
     
     (2)重命名引入
            import { ceshi1 as ce1, ceshi2 as ce2} from "a.js"
            //调用 
              ce1();
              ce2();
     (3) 先整体引入,再分别调用
           import * as ceshiFn from "a.js"    //注意,因为是用export导出,所以不能直接写成 
                                                import ceshiFn from "a.js"
          //调用
           ceshiFn.ceshi1();
           ceshiFn.ceshi2();
         

    export default导出:

        

     导出
       
       function ceshi1(){...}
       function ceshi2(){...}
    
       export default {ceshi1,ceshi2}
    
    
    
    
    引入
      import ceshiFn from "a.js"    //使用export default 导出,在引入的使用可以使用任意名字加载
    
      //调用
       ceshiFn.ceshi1()
       ceshiFn.ceshi2()

    延伸:import如何根据需求才加载,及动态加载

       通常我们使用的 import xxx from "xxx" 只能在模块的顶层,无法通过动态加载,如,我们可能需要判定在某个条件满足时才加载该模块:

     

    if(条件成立){  //条件成立才加载该模块
       import xxx from "xxx"  
    }
      结果是直接报错!

    我们除了用requre(xxx)的引入方法达到动态加载,还可以通过import()来达到动态加载,import()函数可以用在任何地方,不仅仅是模块,非模块的脚本也可以使用。需要注意的是import()是一个promise

    //条件成立才加载该模块
    
    if(条件成立){  
       import('xxxx.js').then(res =>{
          //res 是假定xxxx.js导出方式为export default,如果是export导出,可以用解构赋值那样
          //如 .then({xx,xxx} =>{}) ,方式和前面import使用方法一致
    
        }).catch(err=>{}) 
    }
      
    
    
    
    //因为import()是promise,所以它也能通过async await来使用
    async Fn(){
      let ce = await import('xxx.js')
        
    }
    
    
    //同时引入多个
    Promise.all([
       import('x'),
       import('xx'),
       import('xxxx'),
     ]).then(([data1,data2,data3])=>{})
    
    通过async await来使用
    async Fn(){
        const [data1,data2,data3] = await  Promise.all([
          import('x'),
          import('xx'),
          import('xxxx'),
         ])
        
    }
    

    import还可以加载动态路径

    function urlFn(){
      ...
     return 'xxxxx'
    }
    
    import(urlFn()).then()
    
    //根据urlFn返回的路径进行加载

     

    展开全文
  • 关于RN组件的导出export和export default

    万次阅读 2016-11-14 10:43:57
    组件导出的关键字是exprot default没有加default时,例如:export class Template{}当然,你可以在单个js文件里声明多个组件,例如Templates.jsexport class Template{} export class AnotherTemplate{}这样在其他...

    一般我们在定义了一个组件之后,为了复用,需要将它导出以提供给其他页面使用。

    组件导出的关键字是

    exprot default

    没有加default时,例如:

    export class Template{}

    当然,你可以在单个js文件里声明多个组件,例如Templates.js

    export class Template{}
    export class AnotherTemplate{}

    这样在其他文件引用时,需要使用{}符号且组件名称必修和class名称一样,像这样子:

    import {Template,AnotherTemplate} from './components/Templates';

    而加default时,例如:

    export default class Template{}

    然后在其他文件引用,像这样子:

    import Template from './components/Templates';

    你也可以为这个组件另起一个别名,像这样子:

    import TheTemplate from './components/Templates';

    但是每个文件里只能有个default组件,可以包含其他非default组件:

    export default class Template{}
    export class AnotherTemplate{}

    然后引用的时候,如下:

    import Template,{AnotherTemplate} from './components/Templates';

    总结

    • 有default和没有default的区别在于:有default在引用时可以自定义名称,而没有default时需要使用{}括起来且名称必修和class名称一致
    • 每个文件里只能有一个default组件,但可以有多个非default组件
    展开全文
  • 1.ES6语法中使用export导出成员或者函数,对应的导入时需要使用import 2.export导出默认函数和默认成员时一个模块(通常是一个js文件)只能有一个默认成员或者默认函数 (1)//导出默认函数 ...

    ES6语法的导出和导入默认成员和非默认成员学习笔记

    1.ES6语法中使用export导出成员或者函数,对应的导入时需要使用import

    2.export导出默认函数和默认成员时一个模块(通常是一个js文件)只能有一个默认成员或者默认函数

    (1)//导出默认函数

    export default function(){

        console.log("这是ES6语法111");

    }

    对应导入时并使用示例

    import bar from "./bar"  //导入

    bar(); //调用

    (2)//导出默认对象

    export default{

        name:"张三",

        age:33

    }

    对应导入并使用

    import obj from "./defaultObject"

    console.log(obj)

    console.log(obj.name)

    3.导出导入非默认函数和非默认成员示例

    //ES6语法导出默认函数,一个文件种只能 有一个默认函数或者一个默认对象
    
    export default function(){
    
        console.log("这是ES6语法111");
    
    }
    
    //ES6导出非默认成员
    
    export const x=1;
    
    export const y=20;
    
    //es6导出非默认函数,导出非默认函数时需要给函数定义一个名字
    
    export function add(x1,x2){
    
        return x1+x2;
    
    } 

    对应导入并使用

    import {x,y,add} from "./bar"   //导入bar文件种的x,y成员变量和add函数
    console.log(x,y,add(10,30))
    
    import * as bar from "./bar"   //*表示导入bar文件种的所有成员和函数,包含默认成员和默认函数
    bar.default()
    
    console.log(bar.x,bar.y,bar.add(20,30))

     

    展开全文
  • js模块化:默认导出 export default

    千次阅读 2020-08-23 21:06:00
    默认导出形式1:export { xx as default } 默认导出形式2:export default { xx } export default 在使用 export 导出后,import 导入时需要使用花括号对应模块。使用 export default 后,可以省略花括号。 示例 ...

    前言

    export default

    在使用 export 导出后,import 导入时需要使用花括号对应模块。使用 export default 后,可以省略花括号。

    示例

    DefaultMyClass.js

    class MyClass {}
    
    MyClass.prototype.hello = function() {
    	console.log("hello");
    }
    
    export { MyClass as default };
    
    • 导出的 MyClass 类是默认导出

    jsTestDefaultMyClass.html

    <script type="module">
    	import TheClass from "./DefaultMyClass.js";
    
    	console.log(TheClass);
    	let theClass = new TheClass();
    	theClass.hello();
    </script>
    
    • MyClass 类是默认导出,那就特殊一些,不用花括号了。
    • MyClass 类是默认导出,更加特殊的是,名字可以随便起,叫 TheClass 也可以。

    执行效果:
    在这里插入图片描述

    换个默认导出试试

    DefaultMyClass.js

    class MyClass {}
    
    MyClass.prototype.hello = function() {
    	console.log("hello");
    }
    
    class NewClass {}
    
    NewClass.prototype.hello = function() {
    	console.log("new hello");
    }
    
    export { MyClass, NewClass as default };
    
    • 导出的 NewClass 类是默认导出

    jsTestDefaultMyClass.html

    <script type="module">
    	import TheClass from "./DefaultMyClass.js";
    
    	console.log(TheClass);
    	let theClass = new TheClass();
    	theClass.hello();
    </script>
    
    • 代码没有变,但是执行结果变量。改为调用 NewClass 的 hello 方法了。

    执行效果:
    在这里插入图片描述

    我还用 MyClass 呢

    DefaultMyClass.js

    class MyClass {}
    
    MyClass.prototype.hello = function() {
    	console.log("hello");
    }
    
    class NewClass {}
    
    NewClass.prototype.hello = function() {
    	console.log("new hello");
    }
    
    export { MyClass, NewClass as default};
    
    • 不解释了

    jsTestDefaultMyClass.html

    <script type="module">
    	import TheClass, { MyClass } from "./DefaultMyClass.js";
    
    	console.log(TheClass);
    	let theClass = new TheClass();
    	theClass.hello();
    
    	console.log(MyClass);
    	let myClass = new MyClass();
    	myClass.hello();
    </script>
    

    执行效果:
    在这里插入图片描述

    有干扰这么办

    DefaultMyClass.js

    class MyClass {}
    
    MyClass.prototype.hello = function() {
    	console.log("hello");
    }
    
    class NewClass {}
    
    NewClass.prototype.hello = function() {
    	console.log("new hello");
    }
    
    class GreyClass {}
    
    GreyClass.prototype.hello = function() {
    	console.log("grey hello");
    }
    
    export { GreyClass, NewClass as default, MyClass};
    

    jsTestDefaultMyClass.html

    <script type="module">
    	import TheClass, { GreyClass as NewGreyClass, default as NewClass, MyClass } from "./DefaultMyClass.js";
    
    	console.log(TheClass);
    	let theClass = new TheClass();
    	theClass.hello();
    
    	console.log(NewGreyClass);
    	let greyClass = new NewGreyClass();
    	greyClass.hello();
    
    	console.log(NewClass);
    	let newClass = new NewClass();
    	newClass.hello();
    
    	console.log(MyClass);
    	let myClass = new MyClass();
    	myClass.hello();
    </script>
    

    执行效果:
    在这里插入图片描述

    export default {}

    DefaultMyClass.js

    class MyClass {}
    
    MyClass.prototype.hello = function() {
    	console.log("hello in MyClass");
    }
    
    function hello() {
    	console.log("hello function");
    }
    
    var obj = { hello:()=>{ console.log("hello in obj"); } };
    var age = 18;
    
    export default { MyClass, hello, obj, age};
    

    jsTestDefaultMyClass.html

    <script type="module">
    	import myModules from "./DefaultMyClass.js";
    
    	console.log(myModules);
    	let myClass = new myModules.MyClass();
    	myClass.hello();
    
    	myModules.hello();
    
    	myModules.obj.hello();
    
    	console.log("age=",myModules.age);
    </script>
    

    执行效果:
    在这里插入图片描述

    参考

    https://www.cnblogs.com/libin-1/p/7127481.html

    展开全文
  • ES6在语言标准的层面上实现了模块的功能,是为了成为浏览器和服务器通用的模块解决方案,ES6标准使用exportexport default来导出模块,使用import导入模块。此外在浏览器环境中是可以使用require来导入export、...
  • export: 一个文件中,可以有多个export,可以向外暴露一个变量或一个对象,形式如下: 向外暴露/导出一个变量 导入形式为: 向外暴露/导出一个对象 导入形式为: export default 一个模块中,export default...
  • Spine 批量导出 Export 文件

    千次阅读 2019-09-05 21:52:49
    星之白菜 大哥的 博客,(网上很多人都是转载他的)...1.打开需要导出的 Spine 文件中的其中1个,进入到如下页面: 单击 [save],保存文件,我们这里保存为: spineSetting.json 文件; 然后,第二步: 打开 cmd...
  • [vue]js模块导入导出export default

    千次阅读 2018-05-19 14:03:00
    - export default s1 1.仅能出现1次default 2.导入时候可以随便命名 3,导出时候不必写{} - 常规的导出导入 1,必须{}格式 2,导入时必须{}匹配 3,a.js 和b.js导入main.js变量名不能重复 如果重复需 import * as obj1...
  • ios开发之svn使用之导出export/checkout

    千次阅读 2014-03-04 22:06:10
    check out跟check in对应,export跟import对应。check out导出获得文件后,导出的文件仍处于SVN版本控制中,与版本库保持关联...export 简单导出一个版本的数据,导出的文件脱离SVN版本控制,修改后无进行Update和Commi
  • 除了基本的项目外,elk也要做相关的迁移…....elasticsearch需要我们自己写脚本迁移,因为跨机房导入导出,挺费工夫的,关于elasticsearch的迁移,我下篇再写,今天主要写kibana的迁移。  kibana配置的迁移,他
  • export { default } from 'foo'; export的东西 是让本页面用的 是最终点 是消费者
  • opencart导入导出export/import功能插件

    千次阅读 2013-06-07 16:12:36
    功能:网站管理员可以进行批量导出和导入,数据包含所有的分类、产品、产品选项,生成excel文件,格式为xlsx; 要求及限制: 1. 目前只支持单一语言; 2. 内容要求会比较高。例如,如果你的网站拥有13500的产品及...
  • 解决办法: (1)先运行一下该main方法所在的类,即入口函数所在的类,Run As–java application。 (2)再重新export
  • 在一个vue文件中export const可以有多个,但是export default只有且仅有一个,{}表示导入非默认变量 , 也就是说文件中不使用export default导出的变量就需要加{}, 使用export default导出的就可以不加花括号 ...
  • export var firstName ='Michael' export var lastName = 'Jackson' export var year = 1958;
  • export default class Component extends Component{ render(){ return (&amp;amp;amp;amp;lt;div&amp;amp;amp;amp;gt;Hello, World.&amp;amp;amp;amp;lt;/div&amp;amp;amp;amp;gt;) }} } 导入 ...
  • exportexport default均可用于导出常量、函数、文件、模块等 你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用 在一个文件或模块中,export、import可以...
  • Hive中数据导入导出(Import和Export

    千次阅读 2018-03-08 11:59:13
    官方文档地址:https://cwiki.apache.org/confluence/display/Hive/Home导出EXPORT将hive表中的数据导出到外部。语法:EXPORT TABLE tablename [PARTITION (part_column="value"[, ...])] TO 'export_...
  • export:导出声明或表达式(export {a,b,c}会被认为是声明列表而非对象),不能导出单独变量(如:export a) export default:能导出单独变量 (1)导出接口 任何声明(比如变量,函数,类,类型别名或接口)都能够通过添加...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,009
精华内容 8,403
关键字:

导出export