这真的是1中的2个问题......
我有一个带有 Express 中间件的 Node 后端。在应用程序进入时,我试图通过迭代加载快速路由。以前这是使用requirejs完成的,但我想放弃所有这些并改用 es6 的导入/导出。
我当前的代码(基于MEAN.js):
let initModulesServerPolicies = (app) => {
forEach(config.files.server.policies, (policyPath) => {
require(path.resolve(policyPath)).invokeRolesPolicies();
});
};
我试图以某种方式让我的代码是这样的:
let initModulesServerPolicies = (app) => {
forEach(config.files.server.policies, (policyPath) => {
import path.resolve(policyPath).invokeRolesPolicies();
});
};
现在,这里出现的主要错误是:
'import' 和 'export' 只能出现在顶层
我可以继续使用requirejs,但这需要我将这些策略文件中的 es6 导出更改回module.exports
.
我babel-polyfill
用来使我能够在服务器上使用 es6 导入/导出。
注意: config.files.server.policies
将是一个相对路径数组。这个数组大小会经常改变,因为我会从我的应用程序中添加/删除模块,这就是为什么最好不要显式导入这些模块,而迭代更可取。
所以我的两个问题是:
- 可以将导入/导出封装在一个函数中(所以不是顶层)
- 可以通过迭代导入多个文件吗?
当我尝试使用 es6 代码时,我预计会出现这种问题,因为它还没有得到完全支持,所以如果这不能完成,那么我会找到另一种方法。