vue-cli与webpack处理静态资源的方法及webpack打包的坑
作者:mrr 发布时间:2024-05-09 09:39:07
通过Vue-cli进行webpack打包的坑
Vue-cli为Vue项目搭建的脚手架的确很方便,但打包时容易出现空白页,或者对应的静态资源加载不了。
我是通过将项目/config下的index.js的assetsPublicPath变成'./',变成相对路径,进行解决。
cd vue demo
npm run dev //运行程序
npm run bulid //webpack打包
处理静态资源
你也许会注意到vue-cli与webpack结合的项目中,我们通常会有两个静态资源的路径:src/assets和static/,他们两者的区别是什么呢?本文主要和大家介绍了vue-cli与webpack结合如何处理静态资源,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。
打包的资源
为了回答这个问题,我们首先要明白Webpack是如何处理静态资源的。在*.vue组件里,所有的templates和CSS模块都被vue-html-loader和css-loader解析来查找路径URL。
举个例子,在<img src"./logo.png">
和背景background: url(./logo.png)
,”./logo.png”是一个相对路径,会被Webpack当做一个依赖加载。
但是因为logo.png并不是JavaScript,所以如果被当成一个依赖的花,我们需要通过url-loader和file-loader来解析它。这个模板已经为你配置了相应的loader,所以你通常不用担心相对路径的部署问题。
即使这些资源有可能在构建过程中被内联/拷贝/重命名,他们也是源码重要组成部分。这就是为什么我们建议单独在/src文件夹里放置静态资源,如同其他的资源文件夹。
事实上,你都不必把他们全放在/src/assets,你可以根据模块/组件来组织利用他们。比如说,你可以把任一组件放到他们自己的目录,并在该目录下存放静态资源。
资源引入规则
相对路径,比如 ./assets/logo.png会被解析成模块依赖。它们会被一个基于你Webpack输出配置的自动生成URL替代。
没有前缀的路径,比如assets/logo.png,同相对路径,转义成./assets/logo.png
有~前缀的路径。 ~被认为是一个模块请求,同require('some-module/image.png')
。根路径,比如/assets/log.png
在JavaScript得到资源路径
computed: {
background () {
return require('./bgs/' + this.id + '.jpg')
}
}
这个资源路径同样会被file-loader处理然后返回处理后的路径。而且Webpack会一次性加载该bgs目录下的所有图片。
“真实的”静态资源
与此相对的,static/中的文件全都不会被Webpack处理。它们将被直接拷贝到目标文件夹,引用这些文件需要使用绝对路径。
总结
以上所述是小编给大家介绍的vue-cli与webpack处理静态资源的方法及webpack打包的坑网站的支持!
来源:http://www.php.cn/js-tutorial-386518.html
猜你喜欢
- 全局作用域下this;当在全局作用域中使用 this,它指向全局对象。这里详细介绍下全局对象:全局对象(Global object) 是在进
- # -*- coding:utf-8 -*-__author__ = 'walkskyer'import osimport
- 不固定参数函数在go语言中,允许对函数设置不固定参数。不过需要注意的是,虽然不限制参数数量,但限制了参数的数据类型。从原理分析,不固定参数利
- 本节笔者主将要介绍Active Server Page的另一对象Response,Response对象的作用是在向浏览器发送数据。将Resp
- 使用背景逛社区发现许多人在解决删除文件夹中非图片文件,删除文件夹中图片等问题的时候,都写了很多代码取实现这一功能,我当时就纳闷了,能几行代码
- 打印在使用go写一些小程序时,我们没必要引入额外的包,直接使用fmt标准包打印即可:import "fmt"func m
- 介绍海象运算符,即 := ,在 PEP 572 中被提出,并在 Python3.8 版本中发布。海象运算符的英文原名叫Assignment
- 1.SQL Server2019安装包下载1.1进入官网SQL Server 20191.2下载安装包1点击Continue2.填写个人信息
- 问题:python2.7 查询或者插入中文数据在mysql中的时候出现中文乱码---可能情况:1.mysql数据库各项没有设置编码,默认为&
- 一、 collections 中 defaultdict 的使用1.字典的键映射多个值将下面的列表转成字典l = [('a'
- 本文转自微信公众号:"算法与编程之美"1、前言侧滑是一个非常实用的选项组件,它在Android App应用中非常广泛,常
- 最近很少写CSS了,以后也可能写的会很少了,所以还是想把自已的一些经验能和大家分享一下,希望能给大家一些帮助!这篇文章主要写的提高网页在客户
- 事务控制的核心——Connection在开始之前,先让我们回忆一下数据库较原始的JDBC是怎么管理事务的: //仅
- CSS与JS紧密配合,为我们的页面增添了很多别致的效果。为了达到某种特殊的效果我们需要用Javascript动态的去更改某一个标签的CSS属
- 代码实现:<!DOCTYPE html><html lang="en"><head>
- Go微服务网关从核心原理理解网关的本质网关具备的基本功能:支持多种协议代理:tcp/http/ websocket/grpc支持多种负载均衡
- 流式布局流式布局,也叫做瀑布流布局,是网页中经常使用的一种页面布局方式,它的原理就是将高度固定,然后图片的宽度自适应,这样加载出来的图片看起
- python socket 聊天室import sockets = socket.socket(socket.AF_INET, socket
- 如下所示:#-*- coding: utf-8 -*-#code:myhaspl@qq.com#12-1.pyimport sysreloa
- 最近小编遇到一个奇葩问题,就是上传代码时拷贝vs里面的代码不能直接粘贴,否则空格会不符合要求,怎么解决此问题呢?下面小编给大家分享我的解决方