有关es6的模块化
2024-10-08 07:43:42
假如有两个文件:app.js和config.js
app.js为主文件要去引用config这个模块
以前学习node时使用的模块导出:
需求:导出三个成员,分别是 foo: bar f: function num: 10
exports.foo = 'bar'
exports.f = function () {
}
exports.num = 10
es6中的模块导出
方法一
export const foo = 'bar'
export const f = function () {
}
export const num = 10
两种可以混合使用
方法二
const foo = 'bar'
const f = function () {
}
const num = 10
export {
foo,
f,
num
}
通过 export 导出的成员必须通过解构赋值按需加载
或者通过import * as 变量名
的形式加载所有通过 export 关键字导出的接口成员
通过 export default 加载导出的成员必须通过 import 变量名 from '模块标识'
进行加载
export 和 export default 可以共存
import config from './config'
import { foo, num } from './config'
import * as config from './config'
import { foo } from './config'
默认导出
config.js
// 相当于 module.exports = function () {}
export default function () {
console.log('fff')
}
app.js:
// 这种方式会去找被加载模块中通过 export default 导出的成员
import defaultConfig from './config'
defaultConfig任意指定
最后通过模板字符串将它们打印出来
console.log(
default: ${defaultConfig}, foo: ${foo}, all: ${allConfig})
最新文章
- [异常解决] JLINK 与STM32的SWD连接接线方式
- html框架练习
- jquery 获取多个select name 的值
- break continue.
- 从Windows中卸载Apache
- jquery层级原则器(匹配前一个元素后的下一个元素,必须是挨着的)
- flume学习
- HDU3359 Kind of a Blur(高斯消元)
- Hibernate Dialect must be explicitly set
- [置顶] PMBOOK第四版-ITO与数据流图总结
- web网站架构
- Vue.js组件之同级之间的通信
- Keepalived高可用集群实践
- node中创建服务进程
- 配置SSH隧道访问Ubuntu服务器上的MongoDB
- C++异常层次结构
- Hibernate(六):映射一对多关联关系、双向一对多映射
- 02_3中方式的反射,通过Class.forName获得Class对象,通过类.class获得字节码对象,通过类实例.getClass()的方式获得Class对象
- 速度之王 — LZ4压缩算法(二)
- 页面读取Excel