Webpack path与publicPath的区别详解

 更新时间:2018年05月03日 10:40:58   作者:HeliumLau  
本篇文章主要介绍了Webpack path与publicPath的区别详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

前言

在webpack模块化开发的过程中,发现webpack.config.js配置文件的输出路径总有一个path与publicPath,不解其意。

module.exports = {
 output: {
 path: path.resolve("./examples/dist"),
 filename: "app.js",
 publicPath: "What should I put here?" 
 } 
}

正文

官方解释

publicPath: The output.path from the view of the Javascript / HTML page.

从JS/HTML页面来看的输出路径

我的理解

output.path 储存你所有输出文件的本地文件目录。(绝对路径)

举个例子:

path.join(__dirname, “build/”) 

webpack将会把所有的文件输出到localdisk/path-to-your-project/build/

output.publicPath

你上传所有打包文件的位置(相对于服务器根目录)

path:用来存放打包后文件的输出目录

publicPath:指定资源文件引用的目录

用处:例如在express中,指定了public/dist是网站的根目录,网站的源文件存放在public中,那么就需要设置path:”./dist”指定打包输出到该目录,而publicPath就需要设置为”/”,表示当前路径。

publicPath取决于你的网站根目录的位置,因为打包的文件都在网站根目录了,这些文件的引用都是基于该目录的。假设网站根目录为public,引用的图片路径是'./img.png',如果publicPath为'/',图片显示不了,因为图片都打包放在了dist中,那么你就要把publicPath设置为”/dist”。

举个例子:

/assets/

假设你将这个工程部署在服务器 http://server/

通过将output.publicPath设置为/assets/,这个工程将会在http://server/assets/找到webpack资源。

在这种前提下,所有与webpack相关的路径都会被重写成以/assets/开头。

src="picture.jpg" Re-writes ➡ src="/assets/picture.jpg"

Accessed by: (http://server/assets/picture.jpg)

src="/img/picture.jpg" Re-writes ➡ src="/assets/img/picture.jpg"

Accessed by: (http://server/assets/img/picture.jpg)

重要

如果你在用style-loader或者css sourceMap,你就需要设置publicPath。把它设置成服务器地址的绝对路径,比如http://server/assets/,这样资源可以被正确加载。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 原生js仿jq判断当前浏览器是否为ie,精确到ie6~8

    原生js仿jq判断当前浏览器是否为ie,精确到ie6~8

    这篇文章主要介绍了原生js仿jq判断当前浏览器是否为ie,精确到ie6~8,需要的朋友可以参考下
    2014-08-08
  • JavaScript实现刮刮乐效果

    JavaScript实现刮刮乐效果

    这篇文章主要为大家详细介绍了JavaScript实现刮刮乐效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • js在输入框屏蔽按键,只能键入数字的示例代码

    js在输入框屏蔽按键,只能键入数字的示例代码

    本篇文章主要介绍了js在输入框屏蔽按键,只能键入数字的示例代码。需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • 原生JS实现简单的无缝自动轮播效果

    原生JS实现简单的无缝自动轮播效果

    轮播效果是老生常谈的话题,今天小编通过实例代码给大家分享原生JS实现简单的无缝自动轮播效果,感兴趣的朋友跟随小编一起学习吧
    2018-09-09
  • Bootstrap实现默认导航栏效果

    Bootstrap实现默认导航栏效果

    这篇文章主要介绍了Bootstrap实现默认导航栏效果,导航栏是一个很好的功能,是Bootstrap网站的一个突出特点,本文带领大家学习实现Bootstrap导航栏,需要的朋友可以参考下
    2015-12-12
  • html2canvas+jspdf实现下载pdf文件并添加水印

    html2canvas+jspdf实现下载pdf文件并添加水印

    这篇文章主要为大家详细介绍了如何使用html2canvas + jspdf进行下载pdf文件添加水印,以及echarts图片防止截断处理,有需要的小伙伴可以了解下
    2024-10-10
  • js仿微信公众平台打标签功能

    js仿微信公众平台打标签功能

    这篇文章主要为大家详细介绍了js仿微信公众平台打标签功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • 原生js+css调节音量滑块

    原生js+css调节音量滑块

    这篇文章主要介绍了原生js+css调节音量滑块,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • 理解JavaScript原型链

    理解JavaScript原型链

    简单说一说对JavaScript原型链的理解,希望对大家学习JavaScript原型链有所帮助,具体内容如下
    2016-10-10
  • 微信小程序自定义菜单导航实现楼梯效果

    微信小程序自定义菜单导航实现楼梯效果

    在html开发中,我们可以用到a标签锚点实现,jq的动画相结合实现类似效果。在框架中vant UI框架也为我们实现了这一效果。接下来通过本文给大家介绍微信小程序自定义菜单导航实现楼梯效果,感兴趣的朋友一起看看吧
    2021-12-12

最新评论