Webpack动态请求

2024-02-22

它不起作用

let serviceName = "AuthService";
let servicePath = `app/services/${serviceName}`; 
let service     = require(servicePath);

它正在工作

let service = require("app/services/AuthService");

如何使用 webpack 动态模块?

Error:

Cannot find module 'app/services/AuthService'.

我在文件末尾写入了日志消息,它在模块错误之前显示。

正如我在文档中发现的那样,只需要使用一个简单的要求。 (https://webpack.github.io/docs/context.html#dynamic-requires https://webpack.github.io/docs/context.html#dynamic-requires)

我认为我不需要为这项工作创建自己的背景。


有两种选择可以做到这一点:

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);

查看更多https://webpack.github.io/docs/context.html https://webpack.github.io/docs/context.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Webpack动态请求 的相关文章

随机推荐