小编use*_*895的帖子

Webpack和Nodejs同构需要绝对路径

目标:我正在尝试在nodejswebpack中设置一个项目,以便 require函数可以以root身份使用项目目录,因此我可以在两个环境中使用相对于项目根的绝对路径(同构使用即React服务器+客户端呈现).

情况:在webpack中你可以设置config.resolve.root使其工作,但在nodejs中,最好不要覆盖/修改global.require.

提议1:我可以创建一个新的全局功能

global.p_require
Run Code Online (Sandbox Code Playgroud)

所以它在节点中工作; 但是,我无法找到一种方法让webpack将"p_require"解析为__webpack_require__而不更改webpack源代码.

提案2:我可以创建一个新的全局变量

global.ROOT_DIR = process.cwd()
Run Code Online (Sandbox Code Playgroud)

所以它在节点中工作

require(ROOT_DIR + <relative path to root>);
Run Code Online (Sandbox Code Playgroud)

但是,webpack会认为这是动态需求.有没有办法让webpack解析ROOT_DIR?我已经尝试过Define Plugin,但似乎在webpack解析require之后加载.

任何人都有解决方案或面临同样的问题?

javascript node.js reactjs webpack isomorphic-javascript

5
推荐指数
1
解决办法
647
查看次数