ES6相当于Node.js需要函数调用
什么是最短的ES6等价物require
函数调用?
module.exports = function(app) {...}; require('./routes')(app);
换句话说,在ES6模块中是否有一个相当于一行的内容?
我刚开始深入研究ES6,但我相信这将是:
import * as routes from './routes';
假设./routes
是一个ES6模块导出的东西。
这可以立即使用,如下所示:
import * as routes from './routes'; doAThing( routes.myVar, routes.myMethod() );
如果模块只有一个命名导出,则仍然是两行导入,然后调用:
import { name } from './routes'; name();
这对于任何数量的输出都是一样的:
import { name1, name2 } from './routes'; name1(); name2();
更好的导入是如上所述:
import * as routes from './routes'; routes.foo(); routes.bar();
我使用了这个与ES6模块相关的Axel Rauschmayer文章中的“推荐”格式,但取决于模块导出的内容,您的导入语句可能会有所不同:
从fs导入*作为fs; // 推荐的
我觉得这(1行导入,1行调用)语法清晰可读,所以我喜欢它。 对于某些人来说,这可能看起来不幸。 但是,底线是在ES6中没有一行导入/调用