ES5的resourceManager迁移至ES6:打包导出logger的方案问询
实现方案
完全可以实现,你只需要调整代码语法——ES6模块并不支持import {debug, error, info} as loggerFunctions这类写法,正确的实现方式如下:
resourceManager.js 代码
// 导入logger模块中的指定方法 import { debug, error, info } from './logger.js'; // 将方法封装为对象,以logger为名导出 export const logger = { debug, error, info };
其他模块调用代码
import { logger } from './resourceManager.js'; logger.debug('My debug log'); logger.error('Thats an error'); logger.info('Some info content');
补充简化方案
如果你的logger.js本身就导出了包含所有所需方法的完整对象,还可以直接导入整个模块再导出:
// resourceManager.js import * as logger from './logger.js'; export { logger };
这种方式会把logger.js的所有导出成员都整合到logger对象中,适合需要复用整个logger模块的场景;如果只需要指定方法,还是用第一种封装对象的方式更精准。
内容的提问来源于stack exchange,提问作者CRoNiC
相关产品推荐
相关产品推荐

