迭代中的ES6导入&不在顶层

时间:2018-01-14 14:07:30

标签: javascript node.js babeljs babel-polyfill

这真是2个问题1 ...

我有一个带有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导入/导出。

N.B。: config.files.server.policies将是一个相对路径数组。这个数组大小会经常更改,因为我将从我的应用程序添加/减去模块,这就是为什么最好不要显式导入这些模块,并且迭代更为可取。

所以我的两个问题是:

  1. 可以将导入/导出封装在函数中(所以不在顶层)
  2. 可以通过迭代导入多个文件吗?
  3. 当我尝试使用es6代码时,我期待这种打嗝,因为它尚未得到完全支持,所以如果不能这样做,那么我会找到另一种方式。

0 个答案:

没有答案