File tree 1 file changed +43
-0
lines changed
1 file changed +43
-0
lines changed Original file line number Diff line number Diff line change
1
+ vue-cli 打包部署相信大家肯定都会, 一个命令 ` npm run build ` 就可以
2
+
3
+ 但是, 会遇到问题,可以往下看:
4
+
5
+ #### 打包资源相对引用:
6
+
7
+ 一般情况下,通过 ` webpack + vue-cli ` 默认打包的` css ` ` js ` 等资源,路径都是绝对的
8
+
9
+ ![ ] ( http://oxyhnxrzt.bkt.clouddn.com/vue-2.png )
10
+
11
+ 但当部署到带有文件夹的项目中, 这种路径就会出现问题, 因为 把配置的 ` static ` 文件夹当成了根路径,那么要解决这种问题,就得引用相对路径。
12
+
13
+ #### 解决办法
14
+
15
+ 打开: ` webpack.prod.conf.js `
16
+
17
+ 找到: ` output ` 增加 ` publicPath:'/' ` 即可,如图:
18
+
19
+ ![ ] ( http://oxyhnxrzt.bkt.clouddn.com/vue-1.png )
20
+
21
+ 那么这样后, 资源的引用路径就正确了。
22
+
23
+ #### 或者(注意: 这是或者)
24
+
25
+ 在 ` config ` 文件夹下的 ` index.js ` 中修改 ` assetsPublicPath:'./' ` 同样也可以达到资源的相对引用。
26
+
27
+ ![ ] ( http://oxyhnxrzt.bkt.clouddn.com/vue-3.png )
28
+
29
+
30
+
31
+ ---
32
+
33
+ #### 背景图片的引用问题
34
+
35
+ 上面虽然解决了资源路径的引用问题,但是资源里面的背景图片,不想index.html 中加载资源一样, 通过 ` ./static/js/app.js ` 引用可以正常加载, 图片资源有的是通过 css加载的,比如 ` background:url(../images/logo.png) no-repeat ` ,被相对打包后变成了 ` url(static/img/logo.index.234234.png) no-repeat ` 所以我们要保留css引用图片的正常路径:
36
+
37
+ ** 解决:**
38
+
39
+ 在 build 文件夹下的 utils.js 代码,中添加一句: 看下图
40
+
41
+ ![ ] ( http://oxyhnxrzt.bkt.clouddn.com/vue-4.png )
42
+
43
+ 添加如图所示的一行代码,这样不论是字体还是图片的引用问题都能解决.
You can’t perform that action at this time.
0 commit comments