找回密码
 注册
首页 ≡≡网络技术≡≡ WEB前端 vue项目运行流程

框架 vue项目运行流程

灰儿 2022-8-5 18:02:24
1.vue的目录结构分析
以下为 uni-app 项目目录结构
vue目录结构.png
其中:
1.App.vue用来编写带渲染的模板结构
2.index.html中需要预留一个el区域
3.main.js把App.vue渲染到index.html所预留的区域中

2.vue项目的运行流程
在工程化项目中,vue要做的事情很单纯,通过main.js把App.vue渲染到index.html的指定区域中。
main.js是项目的入口,webpack会根据main.js将所有js文件嵌入到打包后build文件夹下的index.html里。

运行流程.png

先来看看main.js文件

  1. //导入vue这个包,得到Vue构造函数
  2. import Vue from 'vue'

  3. //导入App.vue根组件,将来把App.vue中的模板结构,渲染到Html页面中
  4. import App from './App'

  5. //阻止显示生产模式的消息
  6. Vue.config.productionTip = false

  7. App.mpType = 'app'

  8. //创建Vue的实例对象
  9. const app = new Vue({
  10.   ...App
  11. })
  12. app.$mount()
复制代码

再看看App.vue文件
  1. <script>
  2.         export default {
  3.                 onLaunch: function() {
  4.                         console.log('App Launch')
  5.                 },
  6.                 onShow: function() {
  7.                         console.log('App Show')
  8.                 },
  9.                 onHide: function() {
  10.                         console.log('App Hide')
  11.                 }
  12.         }
  13. </script>

  14. <style>
  15.         /*每个页面公共css */
  16. </style>
复制代码

再来看看html文件
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">

  3.     <head>
  4.         <meta charset="utf-8">
  5.         <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.         <title>
  7.             <%= htmlWebpackPlugin.options.title %>
  8.         </title>
  9.         <script>
  10.             var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
  11.             document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')
  12.         </script>
  13.         <link rel="stylesheet" href="<%= BASE_URL %>static/index.<%= VUE_APP_INDEX_CSS_HASH %>.css" />
  14.     </head>

  15.     <body>
  16.         <noscript>
  17.             <strong>Please enable JavaScript to continue.</strong>
  18.         </noscript>
  19.         <div id="app"></div>
  20.         <!-- built files will be auto injected -->
  21.     </body>

  22. </html>
复制代码
main.js把App.vue中的内容替换掉index.html中的 id="app"容器中,项目跑起来效果如下:
效果.png


您需要登录后才可以回帖 登录 | 注册
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。