我们现在的项目把图片放到static下面如图:
跑起来之后是这样的:
咦?图片怎么没有被url-loader编译呢????
npm run build 之后是这样的:
也没有打包到dist的static里面
我期待的是这样的:
我的第一反应是<img src="static/logo.png">我们的图片放到static下面了,导致webpack编译不到~到网上大量搜集文章:
lvyongbo.gitbooks.io/vuejs-templ…
都在告诉我放在static里面的东西不能被webpack编译!!
但是现在我们大量的图片都放到static下面了咋整???
然后搜到一句话:
前缀为 ~ 的 URL 会被作为模块引用, 类似 require('some-module/image.png')。 如果你想用 Webpack 管理模块,需要加上此前缀。例如,使用别名解析 assets ,这样使用 来确保有效。
于是路径改为<img src="~static/logo.png">
这样build之后图片被url-loader编译了!!!
so,图片以怎样的路径加载才会被url-loader编译呢?
后来我把路径改为<img src="../static/logo.png">也能被url-loader编译!!!!
所以我总结了要想被url-loader编译,路径是下面两种:
- <img src="../static/logo.png"> 相对路径
- <img src="~static/logo.png"> 类似 require('static/logo.png')
我一开始理解的因为 图片放在static所以编译不到的是错误的理解!!!!
我存在的问题是为啥这两种写法url-loader可以编译
而<img src="static/logo.png">这样写编译不到呢???
第二个问题是~是怎么实现的?????
备注:第一次写,很多理解不准确的,请各位帮忙指出,不胜感激!!!!