目标:我正在尝试在nodejs和webpack中设置一个项目,以便 require 函数可以使用项目目录作为根目录,因此我可以在两种环境中使用相对于项目根目录的绝对路径(同构使用,即 React 服务器+客户端渲染)。
情况:在 webpack 中,您可以设置 config.resolve.root 以使其工作,但在 nodejs 中,最好不要覆盖/修改 global.require。
命题 1:我可以创建一个新的全局函数
global.p_require
所以它在节点中工作;但是,我找不到让 webpack 将“p_require”解析为__webpack_require__而不更改 webpack 源代码的方法。
命题 2:我可以创建一个新的全局变量
global.ROOT_DIR = process.cwd()
所以它在节点中工作
require(ROOT_DIR + <relative path to root>);
但是,webpack 会将此识别为动态 require。有没有办法让 webpack 解析 ROOT_DIR?我已经尝试过Define Plugin,但它似乎在 webpack 解析 require 后加载。
问题
任何人都有解决方案或面临同样的问题?