美文网首页让前端飞
【webpack】__webpack_public_path__

【webpack】__webpack_public_path__

作者: 枸杞辣条 | 来源:发表于2021-05-25 16:19 被阅读0次

前言:
最开始接触微前端,由于路由异构的问题会导致资源请求出错。
主项目域名a.com,子项目域名b.com,请求的动态(dynamic import)文件b.com/js/test.js,在微前端下会请求到a.com/js/test.js会导致资源404错误。
后面经过查找需要指定__webpack_public_path__,能够解决路由异构问题,本文就是解释__webpack_public_path__的运行机制

__webpack_public_path__ 是如何运行的

首先对于动态文件dynamic importwebpack 是如何解析的。

// 动态文件
const testFile = () => import('./test.js')
// 解析伪代码:
const testFile = __webpack_require__.e('./test.js')

var __webpack_require__.e = function (url) {
  return new Promise((resolve, reject) => {
    var script = document.createElement('script')
    script.src = __webpack_require__.p + url
    script.onload = resolve()
    script.error = reject()
  })
}

更详细的代码:

这里有一个很重要的参数__webpack_require__.p__webpack__require__.p = 配置文件的publicPath

如果你需要指定__webpack__public_path__,需要在文件的最开头引入。

entry.js public-path.js

当你显示的指定了__webpack_public_path__的值,那么它将会在运行时覆盖__webpack__require__.p的值,也就是说配置项的publicPath会失真。

image.png image.png

这样,我们请求的路径就会变成这样:

image.png

注意:这只针对动态组件的publicPathentry文件还是遵循publicPath的配置。

相关文章

  • 【webpack】__webpack_public_path__

    前言:最开始接触微前端,由于路由异构的问题会导致资源请求出错。主项目域名a.com,子项目域名b.com,请求的动...

  • webpack 基本配置和使用

    webpack 安装 安装本地的 webpack webpack webpack-cli -D webpack可以...

  • webpack入门解析

    webpack 一. 认识webpack 1.1. webpack介绍 什么是webpack? 这个webpack...

  • webpack基础配置

    webpack安装 安装本地的webpack webpack webpack-cli -D webpack可以进行...

  • webpack - 项目优化

    Webpack学习笔记webpack - 项目优化webpack实现原理webpack - loaderwebpa...

  • webpack实现原理

    Webpack学习笔记webpack - 项目优化webpack实现原理webpack - loaderwebpa...

  • webpack - 项目优化2

    Webpack学习笔记webpack - 项目优化webpack实现原理webpack - loaderwebpa...

  • Webpack学习笔记

    Webpack学习笔记webpack - 项目优化webpack实现原理webpack - loaderwebpa...

  • webpack - loader

    Webpack学习笔记webpack - 项目优化webpack实现原理webpack - loaderwebpa...

  • webpack - plugin

    Webpack学习笔记webpack - 项目优化webpack实现原理webpack - loaderwebpa...

网友评论

    本文标题:【webpack】__webpack_public_path__

    本文链接:https://www.haomeiwen.com/subject/jvqcsltx.html