它不能正常工作
let serviceName = "AuthService";
let servicePath = `app/services/${serviceName}`;
let service = require(servicePath);
它正在运作
let service = require("app/services/AuthService");
如何使用webpack动态模块?
错误:
Cannot find module 'app/services/AuthService'.
我在文件末尾写了日志消息,它在模块错误之前显示。
正如我在doc中发现的那样,只需要使用简单的要求。 (https://webpack.github.io/docs/context.html#dynamic-requires)
我认为我不需要为这项工作创建自己的上下文。
答案 0 :(得分:1)
有两种方法可以做到这一点:
1)您需要提供特定的表达方式:
let serviceName = "AuthService";
let service = require('./app/services/' + serviceName);
webpack解析require语句并提取构建上下文的一些信息(目录,正则表达式)。
2)您可以使用require.context函数创建自己的上下文:
let serviceName = "AuthService";
let context = require.context('./app/services', false);
let service = context('./' + serviceName);