Javascript 是否可以覆盖导出?

Javascript 是否可以覆盖导出?,javascript,node.js,import,es6-modules,Javascript,Node.js,Import,Es6 Modules,我正在构建一个CLI,我正在寻找一种方法来覆盖某些模板的导出,仅当导出名称存在时。。。有什么办法吗 我试着这样做: 函数myTemplate(路径,额外){ 返回` 从${path}导入*作为_i if(typeof _i.someExport!=“未定义”){ _i、 someExport=ctx=>_i.someExport({…ctx,extra:'${extra}}) } 从“${path}”导出* ` } 我无法直接接触${path}处的代码,因为我正在构建一个特定的CLI,并且该路

我正在构建一个CLI,我正在寻找一种方法来覆盖某些模板的导出,仅当导出名称存在时。。。有什么办法吗

我试着这样做:

函数myTemplate(路径,额外){
返回`
从${path}导入*作为_i
if(typeof _i.someExport!=“未定义”){
_i、 someExport=ctx=>_i.someExport({…ctx,extra:'${extra}})
}
从“${path}”导出*
`
}
我无法直接接触
${path}
处的代码,因为我正在构建一个特定的CLI,并且该路径可以是我工作区之外的每个文件名

但这是一个错误:

Attempted import error: 'someExport' is not exported from '../../some/path' (imported as '_i').

我不能肯定这是不可能的,但是我确实尝试了一些非常类似的东西,但可能在6个月前在node.js中没有成功,当时我从node.js团队得到的反馈是这是不可能的。但是,您可以在node.js的导入系统的保护下,手动覆盖那里的内容。我自己也尝试过这种方法,但无法阻止缓存。上等投票和明星,希望其他人知道一些事情。好问题听起来像个坏主意。为什么不直接修改
${path}
?@HereticMonkey我知道这听起来很棘手。但是,我不能直接接触
${path}
上的代码,因为我正在构建一个特定的CLI,而这个
路径可以是我工作区之外的每个文件名。我不能肯定这是不可能的,但是我在node.js中尝试了一些非常类似的东西,但可能在6个月前没有成功,我从node.js团队那里得到的反馈是这是不可能的。但是,您可以在node.js的导入系统的保护下,手动覆盖那里的内容。我自己也尝试过这种方法,但无法阻止缓存。上等投票和明星,希望其他人知道一些事情。好问题听起来像个坏主意。为什么不直接修改
${path}
?@HereticMonkey我知道这听起来很棘手。但是,我不能直接接触
${path}
处的代码,因为我正在构建一个特定的CLI,而这个
路径可以是我工作区之外的每个文件名。