在Node.js中从模块中导出函数的语法是什么?在Node.js中从模块中导出函数的语法是什么?
function foo() {}
function bar() {}
export foo; // I don't think this is valid?
export default bar;
在Node.js中从模块中导出函数的语法是什么?在Node.js中从模块中导出函数的语法是什么?
function foo() {}
function bar() {}
export foo; // I don't think this is valid?
export default bar;
在节点导出事情module.exports
特殊对象。例如:
该出口两种功能:
module.exports = { foo, bar };
它们可以被用来作为:
const { foo, bar } = require('./module/path');
要导出的这些功能作为顶级对象一个你可以使用:
module.exports = foo;
module.exports.bar = bar;
它可以用作:
const foo = require('./module/path');
和:
const { bar } = require('./module/path');
或:
const foo = require('./module/path');
const { bar } = foo;
或:
const foo = require('./module/path');
const bar = foo.bar;
等
这是“的语法从模块导出的函数在Node.js中“问题 - 即Node本地支持的语法。节点不支持import
/export
语法(请参阅this以了解原因)。由于slezica在下面的评论中指出,您可以使用像Babel这样的转译器将import
/export
关键字转换为Node可以理解的语法。
见这些问题的答案以获得更多信息:
以暴露foo和bar功能:
module.exports = {
foo: function() {},
bar: function() {}
}
你也可以做到这一点的更短的形式
// people.js
function Foo() {
// ...
}
function Bar() {
// ...
}
module.exports = { Foo, Bar}
导入:
// index.js
const { Foo, Bar } = require('./people.js');
可能的复制[什么是“出口默认“在JavaScript?](https:// stackoverflow。com/questions/21117160/what-is-export-default-in-javascript) – Erazihel
绝对不是重复的。这是当前Node构建中的功能支持问题。什么是降薪,人们? – slezica