对于实用程序函数和常量,我通常使用命名导出。
//utilities.js
export function someFunction(param){...}
export function someFunction2(param){...}
//someModule.js
import {someFunction} from "./utilities.js"
但有时,我会将它们导出为默认对象。
//styleUtilities.js
export function someFunction(param){...}
export function someFunction2(param){...}
export default {someFunction, someFunction2}
//someModule.js
import styleUtilities from "./styleUtilities"
const {someFunction} = styleUtilities
导出为默认对象时,是否会破坏 Webpack 中未使用值的树摇动?
导出为默认对象时,是否会破坏 Webpack 中未使用值的树摇动?
是的。
记住所有样式实用程序都在
styleUtilities
下可能很方便。
为此,您仍应在utilities.js
模块中使用命名导出。然后在someModule.js
中导入该模块时,使用命名空间导入语法:
import * as styleUtilities from "./utilities.js";
styleUtilities.someFunction();
这仍然允许摇树,并为模块的使用者提供导入样式的选择(而不是强迫对象在他们身上(。