Javascript 如何同时使用module.exports和exports.default
模块是否可以像这样导入Javascript 如何同时使用module.exports和exports.default,javascript,ecmascript-6,import,export,Javascript,Ecmascript 6,Import,Export,模块是否可以像这样导入 从“foo”导入foo; 像这样 const foo=require('foo'); 如果是这样,导出的语法可能如下所示: constfoo='a string to export'; exports.default=foo; module.exports=foo; 但是根据我们的说法,这是一个错误的语法 我问这个问题是因为我遇到了一个使用这种语法的模块,并且有错误(import foo from'foo'makefoobeundefined但是const foo=
从“foo”导入foo;
像这样
const foo=require('foo');
如果是这样,导出的语法可能如下所示:
constfoo='a string to export';
exports.default=foo;
module.exports=foo;
但是根据我们的说法,这是一个错误的语法
我问这个问题是因为我遇到了一个使用这种语法的模块,并且有错误(import foo from'foo'
makefoo
beundefined
但是const foo=require('foo')
很好)。
但是在另一方面,我故意添加了这个语法,所以我有点不知所措
编辑: 我找到了一种方法,但它有点粗糙,它会导致循环引用,所以我不会说这是答案:
module.exports=foo;
module.exports.default=foo;
我认为导出。默认值是巴别塔的东西吗?对于您的平台导出来说,这一定是一个互操作性问题。默认值本身就可以正常工作<代码>模块。导出
本身工作正常。两者结合在一起是行不通的。此外,据我所知,我正在使用Node 13.2.0,Node.js允许您使用模块语法将cjs模块导入es6模块。我在文档中找不到有关导出的任何内容。默认值是将ES6export default foo
语法转换为CommonJS语法的标准方法。Babel使用它,但它不是唯一的一个,TypeScript编译器也会这样做。我认为导出。默认值是Babel的东西吗?对于您的平台导出来说,这一定是一个互操作性问题。默认值本身就可以正常工作<代码>模块。导出
本身工作正常。两者结合在一起是行不通的。此外,据我所知,我正在使用Node 13.2.0,Node.js允许您使用模块语法将cjs模块导入es6模块。我在文档中找不到有关导出的任何内容。默认值是将ES6export default foo
语法转换为CommonJS语法的标准方法。Babel使用它,但它不是唯一的一个,TypeScript编译器也这样做。