Export Default Functions and Variables

DEX475 - JavaScript

📄 第 142 页 🎬 视频课程

课程章节介绍

同学们,今天我们来聊聊模块导出中最简单的一种方式:,默认导出,。你可以把它想象成一个模块的“主菜”。一个模块只能有一个默认导出,也就是说,你只能从一个文件里主打输出一样东西。 语法很简单,有两种写法。第一种,直接用 `export default function() { ... }`,就把这个函数设为默认导出。第二种,你可以先定义一个函数,然后在文件末尾写 `export { myProcess as default }`,把已经声明的东西标记成默认。两种方式效果一样。 那导入的时候有什么好处呢?最大的便利就是——你可以随便起名字。比如你从 `utils.js` 导入默认导出的函数,可以写成 `import myCoolFunction from './utils'`,用 `myCoolFunction` 这个名字去调用,完全不用管它原本在源文件里叫什么。当然,为了代码好读,大家通常会让导入的名字和原函数名、或者文件名保持一致,但这只是一个习惯,不是强制要求。 那什么时候用默认导出呢?非常适合模块只有一个核心功能的时候。比如,你有一个专门做汇率转换的模块,或者一个存放应用程序配置的对象,这些情况用默认导出就很干净。模块使用者一看就知道:“哦,这个文件主要就输出这个东西”。 对比一下,另一种,命名导出,就不一样了。命名导出可以导出多个变量,导入时必须用花括号 `{ }`,而且名字必须和导出时一模一样。比如你导出 `export const taxRate = 0.1`,导入就得写 `import { taxRate } from ...`,名字对不上就会报错。所以,命名导出像是一盒子不同的小工具,你得准确叫出每个工具的名字。 在 Salesforce 的 LWC 开发里,这两种模式都会用到。如果你去看官方的 `lwc-recipes` 仓库,里面既有展示默认导出的例子,也有命名导出的例子,可以参考一下,加深理解。 总结一下:默认导出就是一个模块的“压箱底本事”,一个文件只有一个,导入名字自定,适合单一用途的模块。命名导出则是一组功能,导入要按名字精确匹配。掌握好这些,你写组件间的共享代码就会清晰很多。好啦,这块内容我们就说到这儿,有什么问题随时提出来。

关键词

LWC Lightning Web Components Salesforce