`path` 是 Node 内置模块,无法在浏览器里运行、也无法被 polyfill。 如果你只是想用来解析拼接下相对路径,可以换成 `path-browserify` 这个模块。 而你贴的这个项目里它能导入是因为它用的 3.x 低版本的 Webpack,此版本的 Webpack 会自动把部分 Node 内置模块在构建时替换成相应的 shims(像 `path` 就是替换成 `path-browserify`)。但从 4.x 开始只有少部分模块才会被默认自动替换,`path` 模块已不在此列;从 5.x 开始该特性直接被移除了。但你仍然可以选择向我上面提到的那样自己手动替换,具体哪些内置模块可以这么干,可以看下面的文档: > > [https://webpack.js.org/configuration/resolve/#resolvefallback](https://link.segmentfault.com/?enc=Cz9lhHpz8SvkD3VmDCIOgw%3D%3D.67q%2Bpw6eYldLzkipf6i358ocxDyawgakvjJSgNqhkgf2sM8UfJRQxSXWPpe5rKjdOEqPX3iB7G%2FZVPP%2BxFyT7w%3D%3D)