Webpack path与publicPath的区别详解

作者:HeliumLau 时间:2024-04-29 13:37:49 

前言

在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/,这样资源可以被正确加载。

来源:https://blog.csdn.net/HeliumLau/article/details/70666433

标签:Webpack,path,publicPath
0
投稿

猜你喜欢

  • 这些有问题的细节设计

    2009-04-20 12:47:00
  • vue3+vite使用环境变量.env的一些配置情况详细说明

    2024-04-26 17:38:40
  • mysql 复制原理与实践应用详解

    2024-01-19 04:26:19
  • Python实现快速排序的方法详解

    2022-08-29 13:08:35
  • 从console.log说起(console.log详细介绍)

    2022-03-23 03:16:34
  • python rsync服务器之间文件夹同步脚本

    2023-02-23 05:05:56
  • ASP程序与SQL存储过程结合使用详解

    2011-03-25 10:50:00
  • MySQL中用通用查询日志找出查询次数最多的语句的教程

    2024-01-13 23:18:00
  • Python 的赋值,浅拷贝和深拷贝详解

    2023-08-18 12:28:04
  • 使用Python通过win32 COM打开Excel并添加Sheet的方法

    2021-12-07 11:53:34
  • pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)

    2021-07-02 16:53:41
  • Python3.4编程实现简单抓取爬虫功能示例

    2022-04-23 17:48:15
  • 解析mysql修改为utf8后仍然有乱码的问题

    2024-01-14 14:36:09
  • apache和nginx下vue页面刷新404的解决方案

    2024-04-26 17:37:16
  • python启动应用程序和终止应用程序的方法

    2022-09-19 19:04:32
  • 死锁问题详解

    2023-08-20 06:02:47
  • 详解django自定义中间件处理

    2023-09-30 08:19:12
  • python实现统计代码行数的方法

    2021-06-23 11:24:17
  • Python利用requests模块下载图片实例代码

    2023-11-18 16:10:13
  • 基于Python的微信机器人开发 微信登录和获取好友列表实现解析

    2021-09-14 17:03:46
  • asp之家 网络编程 m.aspxhome.com