Vue项目创建和配置文件关系调用

1. Vue项目构建

  • 首先默认安装了node.js和vue-cli,接下来直接使用脚手架创建项目:
vue init webpack Demo // Demo是自定义项目跟目录名,无此目录则自动创建
  • 接下来会进行一系列配置询问,看图:


    项目配置
  • 配置完回车,项目脚手架自动生成完毕


    脚手架
  • 进入Demo文件夹,启动项目试试:
cd Demo
npm start // 推荐使用npm run dev,该命令完整webpack环境可使用(webpack-simple环境无法使用),具体可在配置文件package.json中查看:
启动路径
  • 启动项目后提示已经运行在本地8080端口,直接浏览器跑起来:


    项目启动

    默认启动页面

2.项目文件配置

  • 首先编辑器打开项目创建的文件夹,或者叫Github / 码云拉下来的仓库:

    本地仓库

    这其中有很多的配置文件,具体有什么用这里不过多描述否则文章太长我也受不了...而上图选中的index.html就是默认加载的首页。

  • 其实项目生成的很多配置文件大多不需要修改,主要修改的地方是src目录下的一些配置文件:

    main.js

    这个页面 是整个项目的核心,可以看到它创建了一个Vue实例挂载到index.html页面中,其中就注册了App.vue组件和router目录下的路由,这个页面也不需要修改。

  • 接下来看App.vue这个文件:


    App.vue组件
  • 这个组件呢就使用了我们的组件模板直接替换掉了index.html中的<div id="app"></div>,所以这里我们把配置改成:

    App.vue

    把默认的内容和样式都去掉,留下路由即可(<router-view/>
    这里再说一个注意点:一旦开启了ESLint,时刻注意代码规范(自行百度规则),不过.eslintignore文件中的路径下的文件将不会检查,一旦语法不规范,你的页面控制台和终端都会报错,这里根据提示的地方修改即可。

  • 既然根组件保留了路由内容,那么就是router目录下的index.js文件:

    index.js

    这里就显示了根路径下的内容(组件),默认加载的是HelloWorld组件(从src目录下的components目录下的Hellow.vue中导入),因此这里把圈掉的干掉,在重新配置根目录加载的内容即可,最后自定义放组件的目录(默认情况不会使用components目录而是自行创建,在通过同样的方式引入即可)。

index.js
  • 接下来重新配置首页(根路径下加载的组件)和路由:

image.png

这里配置了一个路由,当页面跳转到localhost:8080/list目录下时,页面将跳转(加载List组件),组件配置模板如下:

组件模板

为了证明配置成功,附图2张(主页和路由配置的新页面):


1

2

3.基本项目搭建完成,接下来分析调用关系

人家的图,希望不要被打死
  • 使用到vue项目的文件包括一个.html,两个.js,两个.vue文件,关系如上图所示
  • 由图可见,文件关键处在于main.js,管理着所有需要的资源,其中new Vue的参数,解释如下:
  • el:官方解释为实例提供挂载的元素。此处为index.html中的<div id="app"><div>
  • router:为router:router的简写(ES6语法),指向引入文件中的routes:[]
  • components:注册哪些组件,就要在顶部引入文件。
    template:替换挂载元素的模板组件,而挂载元素的内容都将被忽略。即用<template>替换index.html里面的<div id="app"></div>

此时,可知main.js文件调用关系分为三步,如图中序号:

  1. 确定将被挂载(替换)的元素,此处为index.html中的<div id="app"><div>
  2. 注册组件(此处只有组件App),选择其中用于替换挂载元素(第一步中的元素)的模板组件(<App/>),即用App.vue替换index.html中的<div id="app"><div>
  3. 注册路由器router:
    1. 模板组件(App.vue)中有<router-view/>,将在其中渲染路由匹配到的组件
    2. 注入(import)路由时指定的是router文件夹,即文件夹下所有routes
    3. router文件夹下此时只有index.js文件,其中routes:[]规定了文件地址及其url地址映射
    4. 根据文件地址,载入组件(HelloWorld.vue),组件被渲染在<router-view/>中,显示在index.html

然而追本溯源,调用关系中仍有两个问题:

  1. index.html为何默认显示?
    其实,双击执行npm中dev时,控制台将执行如下语句:

webpack-dev-server --inline --progress --config build/webpack.dev.conf.js

由此可见,运行时启动文件webpack.dev.conf.js,而文件中包含如下语句,规定了起始页面:

new HtmlWebpackPlugin({
          filename: 'index.html',
          template: 'index.html',
          inject: true
        }),
  1. main.js为何默认加载?
    因为使用的脚手架工具vue-cli里用webpack来打包项目文件,webpack.dev.conf文件里还定义了webpack基础配置文件webpack.base.conf.js,定义语句如下:
    const baseWebpackConfig = require('./webpack.base.conf')
    而文件webpack.base.conf.js中,包含如下语句,指定了入口:
 entry: {
    app: './src/main.js'
  }

总结:

  • 以上就是一个完整的Vue项目创建及配置文件修改和调用关系的说明,喜欢的小伙伴就点个喜欢吧,博主也不容易!
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容