es6 -- export和import

2019-01-17  本文已影响0人  墨芊baby
config.js:

export const PROJECT = {
  guosuan: {
    home: {
      bgColor: 'background: #ECFAF8',
      top: 'xxx'
    }
  }
}

第二种:

config.js:

const PROJECT = {
  guosuan: {
    home: {
      bgColor: 'background: #ECFAF8',
      top: 'xxx'
    }
  }
},
const a = {...}
export { PROJECT, a }  //不论一个接口或多个接口必须加大括号

应该优先考虑使用这种写法。因为这样就可以在脚本尾部,一眼看清楚输出了哪些变量

使用export命令定义了模块的对外接口以后,其他 JS 文件就可以通过import命令加载这个模块。

index.vue
import { PROJECT } from "../../config";
import {firstName, lastName, year} from './profile.js';

上面代码的import命令,用于加载profile.js文件,并从中输入变量。import命令接受一对大括号,里面指定要从其他模块导入的变量名。大括号里面的变量名,必须与被导入模块(profile.js)对外接口的名称相同。

export function area(radius) {
  return Math.PI * radius * radius;
}
export function circumference(radius) {
  return 2 * Math.PI * radius;
}

//现在,加载这个模块。
import { area, circumference } from './circle';  //逐一加载
//整体加载的写法如下:
import * as circle from './circle';
config.js
export default function(){}
或者写成:
function foo(){}
export default foo;        //注意import后面foo,不使用大括号
//现在,加载这个模块
import customName from './config.js' //注意import后面,不使用大括号

上面代码是一个模块文件export-default.js,它的默认输出是一个函数。
其他模块加载该模块时,import命令可以为该匿名函数指定任意名字。

//第一组
export default function foo(){...}   //输出
import foo from './config'    //输入
//第二组
export function foo(){...}   //输出
import { foo } from './config'    //输入

上面代码的两组写法,第一组是使用export default时,对应的import语句不需要使用大括号;第二组是不使用export default时,对应的import语句需要使用大括号。
export default命令用于指定模块的默认输出。显然,一个模块只能有一个默认输出,因此export default命令只能使用一次
本质上,export default就是输出一个叫做default的变量或方法,然后系统允许你为它取任意名字。

上一篇 下一篇

猜你喜欢

热点阅读