ES6 模块写法示例

模块导出

导出默认

export default { foo: 'bar' }// CommonJS module.exports = { foo: 'bar' }

导出带名字的

export var foo = 'bar' // CommonJS module.exports.foo = 'bar'
export var baz = 'ponyfoo'

模块导入

导入默认的

import _ from 'lodash'// var _ = require('lodash')

导入带名字的

import {map, reduce} from 'lodash'
import {map as myMay} from 'lodash'

导入所有带名字的

import * as _ from 'lodash'

导入所有必须加 as 语句。

综合 Demo

demo.js 如下

export default {
  a:1
}
export var other = {
  b:2,
  c:3
}

test.js 如下

import d from './demo'
console.log(d) // {a: 1}
import {default as d1,other1, other2 as myName, other3} from './demo'
console.log(d1) // {a: 1}
console.log(other1) // {b: 2, c: 3}
console.log(myName)  // {d: 4}
console.log(other3) // undefined

import * as all from './demo'
console.log(all) //  {default: Object, other1: Object, other2: Object, __esModule: true}
console.log(all.default) // {a: 1}

注意: importexport 只能在顶级用,不能在代码块中用。否则会报 'import' and 'export' may only appear at the top level。例如

var isDebugger = true
if(isDebugger) {
  import mock from './mock'
}

这种情况,可以考虑用 CommonJS 或 System.import 的写法。

参考

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

利用Windows性能计数器(PerformanceCounter)监控

一、概述 性能监视,是Windows NT提供的一种系统功能。Windows NT一直以来总是集成了性能监视工具,它提供有关操作系统当前运行状况的信息,针对各种...

3219
来自专栏逸鹏说道

小解Redis 系列

官网:http://redis.io/ 推荐一个开源组件:StackExchange.Redis https://github.com/StackExchang...

3049
来自专栏武军超python专栏

2018年8月5日对之前学习python中的问题总结

问题: linux中whereis和which的区别: whereis python     which python whereis是一个文件查找命令,...

1005
来自专栏Java3y

Hibernate面试题大全

Hibernate常见面试题 Hibernate工作原理及为什么要用? Hibernate工作原理及为什么要用? 读取并解析配置文件 读取并解析映射信息,创建...

3935
来自专栏linux驱动个人学习

Linux下2号进程的kthreadd--Linux进程的管理与调度(七)

内核初始化rest_init函数中,由进程 0 (swapper 进程)创建了两个process

1852
来自专栏抠抠空间

Linux用户管理

3990
来自专栏蓝天

Linux下共享库(SO)有关的几个环境变量

Linux支持共享库已经有悠久的历史了,不再是什么新概念了。大家都知道如何编译、连接以及动态加载(dlopen/dlsym/dlclose) 共享库。但是,...

1411
来自专栏微服务生态

Spring注解事务诡异提交全面解析

应用上线的时候,正常调用Tomcat的shutdown.sh脚本,事务执行一半异常提交。伪代码如下:

1093
来自专栏用户2442861的专栏

tinyhttpd 剖析

http://blog.csdn.net/jcjc918/article/details/42129311

1852
来自专栏闵开慧

tomcat6.0下找不到jasper-runtime.jar

今天有点需求,需要用jasper-runtime.jar包。但是我在我的\apache-tomcat-6.0.16\lib目录下,怎么也找不到这个jar包。结果...

3305

扫码关注云+社区

领取腾讯云代金券