vue打包时,assets目录 和static目录下文件的处理区别(nodeModule中插件源码修改后,打包后的文件应放在static目录)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了vue打包时,assets目录 和static目录下文件的处理区别(nodeModule中插件源码修改后,打包后的文件应放在static目录),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1318字,纯文字阅读大概需要2分钟。
内容图文
![vue打包时,assets目录 和static目录下文件的处理区别(nodeModule中插件源码修改后,打包后的文件应放在static目录)](/upload/InfoBanner/zyjiaocheng/738/5f552ccc83264301b8c5acec685e76c7.jpg)
为了回答这个问题,我们首先需要了解Webpack如何处理静态资产。在 *.vue
组件中,所有模板和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
处理它。vue-cli 的 webpack 脚手架已经配置了这些 loader,因此可以使用相对/模块路径。
由于这些资源可能在构建过程中被内联/复制/重命名,所以它们基本上是源代码的一部分。这就是为什么建议将
Webpack 处理的静态资源放在 /src
目录中和其它源文件放一起的原因。事实上,甚至不必把它们全部放在 /src/assets
:可以用模块/组件
的组织方式来使用它们。例如,可以在每个放置组件的目录中存放静态资源。
"Real" Static Assets
相比之下,static/
目录下的文件并不会被 Webpack 处理:它们会直接被复制到最终目录(默认是dist/static
)下。必须使用绝对路径引用这些文件,这是通过在 config.js
文件中的 build.assetsPublicPath
和 build.assetsSubDirectory
连接来确定的。
任何放在 static/
中文件需要以绝对路径的形式引用:/static/[filename]
。如果更改 assetSubDirectory
的值为 assets
,那么路径需改为 /assets/[filename]
。
有时我们需要修改nodeModule中的源码,插件源码修改后,打包后的文件应放在static目录。如果放在其他目录,webpack会重新打包,导致出现例如:did you register the component correctly? 这个组件报错
内容总结
以上是互联网集市为您收集整理的vue打包时,assets目录 和static目录下文件的处理区别(nodeModule中插件源码修改后,打包后的文件应放在static目录)全部内容,希望文章能够帮你解决vue打包时,assets目录 和static目录下文件的处理区别(nodeModule中插件源码修改后,打包后的文件应放在static目录)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。