0

这真的是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将是一个相对路径数组。这个数组大小会经常改变,因为我会从我的应用程序中添加/删除模块,这就是为什么最好不要显式导入这些模块,而迭代更可取。

所以我的两个问题是:

  1. 可以将导入/导出封装在一个函数中(所以不是顶层)
  2. 可以通过迭代导入多个文件吗?

当我尝试使用 es6 代码时,我预计会出现这种问题,因为它还没有得到完全支持,所以如果这不能完成,那么我会找到另一种方法。

4

0 回答 0