TypeScript动态导入和导出

时间:2018-06-07 19:05:05

标签: javascript node.js typescript typescript2.0

我正在尝试将以下Node JS脚本转换为TypeScript:

const functions = {
    'auth/onCreate.js': true,
    'auth/onDelete.js': true,
    // ...
};

const camelcase = require('camelcase');

for (const file in functions) {
    // exports enabled functions only
    if (functions[file]) {
        const functionName = camelcase(file.slice(0, -3).split('/'));

        if (!process.env.FUNCTION_NAME || process.env.FUNCTION_NAME === functionName) {
            exports[functionName] = require(__dirname + '/' + file);

            if (process.env.FUNCTION_NAME === functionName) {
                break;
            }
        }
    }
}

以下是导出auth/onCreate.js内容的方式:

exports = module.exports =
    functions.auth.user().onCreate((userMetadata, context) => {
      // ...
    });

我遇到的主要问题是以下几行:

exports[functionName] = require(__dirname + '/' + file);

我曾尝试使用动态TypeScript导入,但我找不到根据functionName变量中的名称重新导出定义的方法?有可能吗?

0 个答案:

没有答案