Import 在Babel&;中导入共享脚本时出现问题;节点

Import 在Babel&;中导入共享脚本时出现问题;节点,import,export,babeljs,commonjs,transpiler,Import,Export,Babeljs,Commonjs,Transpiler,我有一个javascript模块,需要导入到两个不同的代码库中: nodejs(8.11.3及以上版本未使用巴别塔传输) vuejs 2.5.16(通过网页包捆绑并由巴贝尔传输) 我在以两个代码库都可以导入的方式导出文件时遇到问题 如果我尝试使用commonJS导出它,如下所示: module.exports = myFunc exports = myFunc Babel抱怨未捕获类型错误:无法分配给对象“#”的只读属性“exports” 如果我尝试使用commonJS导出它,如下所示:

我有一个javascript模块,需要导入到两个不同的代码库中:

  • nodejs(8.11.3及以上版本未使用巴别塔传输)
  • vuejs 2.5.16(通过网页包捆绑并由巴贝尔传输)
我在以两个代码库都可以导入的方式导出文件时遇到问题

如果我尝试使用commonJS导出它,如下所示:

module.exports = myFunc
exports = myFunc
Babel抱怨
未捕获类型错误:无法分配给对象“#”的只读属性“exports”

如果我尝试使用commonJS导出它,如下所示:

module.exports = myFunc
exports = myFunc
巴贝尔抱怨
未捕获引用错误:未定义导出

如果我尝试使用es2015导出语法导出它,如下所示:

export default myFunc
Nodejs将投诉:

export default reduce;
^^^^^^

SyntaxError: Unexpected token export

不幸的是,传输完整的nodejscomplete不是一个选项。我希望这可以通过调整网页包或添加一个扩展来解决

复制/所有代码:

  • 回购协议在此(分行v0.6之前)
  • 我试图在vue和nodejs之间共享的模块是
  • 要启动nodejs环境:
    npm安装&cd-web&&node服务器
  • 要启动vue环境,请执行以下操作:
    cd-web/vue&&npm安装和&npm运行serve

如您所述,节点8.11.3未使用巴别塔传输,因此我假设我们无法使用巴别塔节点合并使用导入导出语句的包

您可以使用


const reduce=require('reduce')

不幸的是,我无法使用commonJS导出它,因为上面的消息出现了
module.exports=x
exports=x
错误。然后尝试使用以前的LTS,例如巴贝尔可以传输的8.9.0。这样,您就可以使用import-export语句,因为这是模块的两个选择。传输完整的代码库不是一个选项。幸运的是,我自己找到了另一个可行的解决方案:我可以使用commonJS导出并告诉babel“忽略”这个特定文件。在那之后,上面的错误消失了,巴贝尔能够处理这个文件。为此,我在我的
babel.config.js
中添加了以下内容:`ignore:['node_modules','../state/reduceState.js']`。有关更多详细信息,请参阅此提交: