当前位置:   article > 正文

跟着项目学Vue.js(四) 工程目录结构分析(下)_images and other types of assets omitted.

images and other types of assets omitted.

 工程目录结构如下:

  1. hello-world
  2. |
  3. |-- node_modules //模块文件夹,存放package.json中列出的依赖项
  4. |-- public
  5. |-- |-- favicon.ico //网站图标
  6. |-- |-- index.html //入口页面
  7. |-- src
  8. |-- assets // 静态文件,比如一些图片,json数据等
  9. | |-- components // vue公共组件
  10. |-- views // 以页面为单位的vue文件、html文件等
  11. | |-- App.vue // 页面入口文件
  12. | |-- main.js // 程序入口文件,加载各种公共组件
  13. | |-- router.js // vue的路由管理
  14. | |-- store.js // vuex
  15. |-- tests // 单元测试
  16. |-- package.json // 项目基本信息,包依赖信息等
  17. |-- README.md // 项目说明
  18. |-- 一些配置文件如.gitnore、yarn.lock等

两个文件夹:public和src

1、public文件夹

  1. |-- public
  2. |-- |-- favicon.ico //网站图标
  3. |-- |-- index.html //入口页面

1)网站图标

文件夹中的两个文件分别是网站图标(favicon.ico)和入口页面(index.html),所有的web工程几乎都是这样开场的。

这是因为在浏览器中输入url后,浏览器默认会请求网站图标favicon.icon,因此如果事先在index.html中并没有对网站图标的设置,而网站根目录也没有这个图标,就会返回 404。

   来看我们的 index.html是怎么解决的:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width,initial-scale=1.0">
  7. <link rel="icon" href="<%= BASE_URL %>favicon.ico">
  8. <title>hello-world</title>
  9. </head>
  10. <body>
  11. <noscript>
  12. <strong>We're sorry but hello-world doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
  13. </noscript>
  14. <div id="app"></div>
  15. <!-- built files will be auto injected -->
  16. </body>
  17. </html>

   在index.html文件中,通过 link标签设置了网站图标路径。

<link rel="icon" href="<%= BASE_URL %>favicon.ico">

这也表明对于前端来说,您必须有一个可以访问到的网站图标,不管你base64也好,内部路径、外部路径也好,反正得有,要不然终归逃不过一个404!

但我现在就是不想要这个网站图标,怎么办呢?这件事你前端不用管了,咱直接去web服务器里搞:

  1. if(请求==favicon){
  2. 别返回404
  3. }

         一行代码不就解决了了吗?所以说了解nodejs很重要,最起码了解了它,你才能知道到底哪些工作是不应该由你来处理的。

2)生产环境中的index.html

执行yarn run build生产环境打包命令,发现在工程根目录添加多了一个dist文件夹

  1. D:\vuestore\hello-world>yarn run build
  2. yarn run v1.7.0
  3. $ vue-cli-service build
  4. / Building for production...
  5. DONE Compiled successfully in 11795ms 14:46:16
  6. File Size Gzipped
  7. dist\js\chunk-vendors.19368321.js 112.02 kb 38.81 kb
  8. dist\js\app.0c92f7d7.js 6.27 kb 2.31 kb
  9. dist\js\about.2d341050.js 0.47 kb 0.33 kb
  10. dist\css\app.aac77199.css 0.42 kb 0.26 kb
  11. Images and other types of assets omitted.
  12. DONE Build complete. The dist directory is ready to be deployed.
  13. INFO Check out deployment instructions at https://cli.vuejs.org/guide/deployment.html
  14. Done in 16.99s.

 

打包文件就在dist文件夹下了

 

打包之后的网站图标和index.html都在根目录下,所以在生产环境中,index.html中不需要配置网站图标,dist文件夹下的index.html如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width,initial-scale=1.0">
  7. <title>Vue App</title>
  8. <link href="/about.js" rel="prefetch">
  9. <link href="/app.js" rel="preload" as="script"></head>
  10. <body>
  11. <div id="app"></div>
  12. <script type="text/javascript" src="/app.js"></script>
  13. </body>
  14. </html>

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/917326
推荐阅读
相关标签
  

闽ICP备14008679号