**目标**: 我正在尝试在 `nodejs` 和 `webpack` 中设置一个项目,使得 `require` 函数可以使用项目目录作为根目录,在两个环境中(即同构使用,例如 React 服务器和客户端渲染)都可以使用绝对路径相对于项目根目录进行引用。
**情况**: 在 `webpack` 中,您可以设置 `config.resolve.root` 来使其工作,但在 `nodejs` 中,最好不要覆盖/修改全局的 `require`。
**建议1**: 我可以创建一个新的全局函数。
**情况**: 在 `webpack` 中,您可以设置 `config.resolve.root` 来使其工作,但在 `nodejs` 中,最好不要覆盖/修改全局的 `require`。
**建议1**: 我可以创建一个新的全局函数。
global.p_require
因此它在节点中有效;然而,我未能找到一种方法让webpack将“p_require”解析为__webpack_require__,而不更改webpack源代码。
提案2:我可以创建一个新的全局变量
global.ROOT_DIR = process.cwd()
所以它可以在Node中工作,方法是
require(ROOT_DIR + <relative path to root>);
然而,webpack会将此视为动态require。是否有一种方法使webpack解析ROOT_DIR?我已经尝试过Define Plugin,但它似乎在webpack解析require之后加载。
问题
有人有解决方案或遇到相同的问题吗?
NODE_PATH
吗?NODE_PATH=<root_of-Project> webpack
,NODE_PATH=<root_of-Project> node server.js
- rockingskier