网站子目录部署VUE webpack 打包资源文件路径的正确引用方式1
需积分: 0 53 浏览量
更新于2022-08-03
收藏 160KB PDF 举报
在网站子目录部署Vue.js应用时,Webpack的打包资源配置至关重要,特别是对于资源文件路径的处理。Vue CLI生成的配置文件中,`publicPath`参数是关键,它定义了项目中所有资源的基础路径。例如,当应用部署在`https://www.wx2share.com/m/`下,`publicPath`应设置为`'/m/'`,确保所有资源路径前缀为`/m/`。
在CSS中引用图片时,Webpack默认并不会处理这些路径。如以下CSS代码:
```css
.content {
background: url('/https/download.csdn.net/static/img/1.jpg');
}
```
在打包后,Webpack不会自动将`/static/img/1.jpg`更改为`/m/static/img/1.jpg`,导致在线上环境无法找到图片资源,从而出现404错误。
解决这个问题的方法是利用Webpack的`MiniCssExtractPlugin`插件和`url-loader`。安装这两个插件:
```bash
npm install --save-dev mini-css-extract-plugin url-loader file-loader
```
然后在`webpack.config.js`中进行如下配置:
```javascript
module.exports = {
// ...
module: {
rules: [
{
test: /\.css$/,
use: [
MiniCssExtractPlugin.loader,
'css-loader',
{
loader: 'postcss-loader',
options: {
plugins: () => [require('autoprefixer')],
},
},
],
},
{
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 8192, // 只有小于8KB的图片会被转化为base64
name: '[name].[ext]?[hash]',
outputPath: 'static/img',
publicPath: '/m/static/img/', // 设置图片的公共路径
},
},
// ...
],
},
plugins: [
new MiniCssExtractPlugin({
filename: '[name].css',
chunkFilename: '[id].css',
}),
// ...
],
// ...
};
```
这段配置会告诉Webpack如何处理CSS中的URL引用,将其转换为正确的路径。`MiniCssExtractPlugin.loader`将CSS从JavaScript文件中分离出来,而`url-loader`则处理图片资源,添加适当的公共路径前缀。
这样,即使在子目录中部署,CSS中的图片引用也会被正确处理,如:
```css
.content {
background: url('/https/download.csdn.net/m/static/img/1.jpg');
}
```
同时,`outputPath`配置用于指定图片输出的目录,而`publicPath`确保这些图片在浏览器中加载时带有正确的前缀`/m/static/img/`。
Vue.js结合Webpack在子目录部署时,要确保`publicPath`配置正确,并且使用`MiniCssExtractPlugin`和`url-loader`处理CSS中的图片引用,以避免资源加载失败。这样的配置方法能够确保你的应用在不同环境下都能正常工作,无论是在本地开发还是在线上部署。

StoneChan
- 粉丝: 31
最新资源
- 大数据时代翻译职业化的教学模式研究.docx
- 《软件工程实用教程》第11章软件项目管理.ppt
- (源码)基于LQR算法的机器人路径规划与跟踪系统.zip
- PLC控制的自动售货机设计-(2).doc
- 基于VC的网络聊天系统研究设计与实现.doc
- 安全管理事业部-:网上银行网络通讯安全解决方案.ppt
- 企业项目管理中的沟通和成本.docx
- 利用MATLAB实现连续信号采样与重构仿真课程设计.doc
- 大数据时代高校图书馆学科竞争力分析系统研究.docx
- 浅析网络战争中的国际法问题.docx
- 煤矿立井提升系统安全性分析及管理.docx
- 全国计算机等级测验二级java上机题库.doc
- 交通线路选择软件的研究与设计开发与实现研究与设计开发.doc
- 室内蜂窝移动通网络技术概述.doc
- 数学实验云计算辅助教学平台的建设初探.docx
- (源码)基于Node.js的个人博客网站.zip