路径解析兼容性导致编译失败

一、问题描述

在mac上能够正常运行的项目,在windows上面出现报错。

二、原因

经调试webpack配置文件,发现mac里面路径解析是用'/'连接,windows里面路径解析是用'\'连接。如果在webpack配置文件直接写

const ROOT_PATH = path.resolve(__dirname);
const NODE_MODULES = ROOT_PATH + './node_modules';

mac系统能正常解析NODE_MODULES,而windows系统无法正常解析NODE_MODULES,比如希望解析成‘f:\project\example\node_modules’,结果会解析为‘f:\project\example/node_modules’。

三、解决方案

用node的path方法去解析路径,可以这么写

const ROOT_PATH = path.resolve(__dirname);
const NODE_MODULES = path.resolve(__dirname, './node_modules');

猜你喜欢

转载自www.cnblogs.com/camille666/p/webpack_path_resolve.html