[零基础学习Vue3+webpack项目]的vue3代码的开发编译及其启动项目服务的详解(3)

[零基础学习Vue+webpack]之vue+webpack项目的基础依赖项的安装详解(1)https://www.jianshu.com/p/0fa12aa731ff

[零基础学习Vue+webpack]之vue3+webpack项目的webpack对vue3进行编码打包的详解(2)

https://www.jianshu.com/p/21b3ec4bba74

中已经对vue3+webpack进行了一些讲解,准备工作也已经做好了,现在正式开始vue3的代码编写了。


1.新增模板页面index.html。

在项目根目录的src文件夹下新建一个index.html的网页文件,这个网页是用来作为项目的模板页面使用的,

vue3代码所编译的文件均会被注入到index.html这个模板页面之中,同时它也是vue3项目的入口主页面,

如下图:

图1

index.html的页面代码:

<!DOCTYPE html>

<html>

  <head>

    <meta charset="utf-8">

    <meta name="viewport" content="width=device-width,initial-scale=1.0">

    <title>Vue</title>

  </head>

  <body>

    <div id="app"></div>

  </body>

</html>

其中的<div id="app"></div>中id的app是给vue3使用的,就是vue3会将写好的代码放入到id为app的标签内;

注意:配置文件webpack.dev.config.js中plugins下的HtmlWebpackPlugin中的template属性后面的路径要和模板路径保持一直(这一点在上一篇文章中有代码)。


2.对项目根目录的src文件夹下的index.js文件进行代码的开发。

图2:

代码如下:

import { createApp } from 'vue'

import App from './App.vue'

createApp(App).mount('#app')

import App from './App.vue'表示引入的组件,目前App这个组件还没有新建,这个在后面会详细的进行讲解。

而代码中的createApp(App).mount('#app')表示创建一个vue3的应用实例,并把App这个组件放入到id为app的DOM元素上,

也就是以上新增的模板页面index.html中的<div id="app"></div>;

注意:这是vue3的代码写法,与vue2是有区别的,这点一定要记住。

vue2:创建一个vue 实例是通过new Vue()来实现的;

vue3:通过使用createApp这个API返回一个应用实例,并且可以通过链条的方式继续调用其他的方法;


3.在项目根目录的src文件夹下新建App组件。

新建的组件文件为App.vue,

图3

开发代码如下:

<template>

    <div>

        {{ welcomeLanguage }}

    </div>

</template>

<script>

import { setup } from 'vue'

export default {

    name:"firstVueProJectInVue3",

    setup() {

        var welcome = "月影WEB 欢迎大家来学习各种技术知识!"

        return { welcome }     

    },

}

</script>

组件代码的开发根据项目需要来做。


4.使用webpack来编译vue3项目代码。

在终端中输入:npm run dev-build-server

这样就执行了package.json中scripts的dev-build-server

这样项目的根目录就会多出一个build这个文件夹,而编译好的代码就在build这个文件夹下的development这个文件夹下;

如下图:

图4

编译的bundle.js文件也被注入到了index.html之中,也能在index.html中看到引用了bundle.js;

之所以编译文件会在这个目录文件夹下是因为在配置文件webpack.dev.config.js中对编译文件进行了配置;

也就是如下代码:

    output:{

        path:path.resolve(__dirname,'./build/development'),    // 动态获取出口路径(绝对路径)-文件编译后的位置

        filename:'bundle.js'                                    // 出口文件名

    },

图5

然后可以直接打开这个index.html网页,如下图:

图6

浏览器上面就显示了vue所编写的代码内容:"月影WEB 欢迎大家来学习各种技术知识!"

注意:网页文件以浏览器的方式打开的地址栏路径为本地的绝对路径。


5.使用webpack来启动vue3项目的服务。

在package.json中的scripts属性中加入:"dev-server": "webpack-dev-server --open chrome --config ./webpack.dev.config.js --progress"

webpack-dev-server --open chrome 表示在谷歌浏览器里面启动服务;

--config ./webpack.dev.config.js --progress 表示项目是根据webpack.dev.config.js这个配置文件进行配置来启动服务的;

在终端中输入:npm run dev-server

图7

这样就启动了该项目服务了,浏览器效果如下图:

图8

注意:以服务方式启动的项目地址栏的路径是localhost加端口号,而当前启动的服务器地址为:http://localhost:8082/

如果你需要自己配置服务的端口号的话,只需要在webpack.dev.config.js 这个配置文件中加入以下代码:

devServer:{

port:8888, // 设置端口号,如果没有设置,会默认端口号

}

如下图:

图9

然后关闭之前的服务之后,重新在终端中输入:npm run dev-server

浏览器效果如下图:

图10

从图中可以看到端口号已经变为了设置的8888了。

这样一个完整的vue3+webpack项目的基础就完成了,接下去就是根据项目需求来补充和完善依赖项、配置项、页面内容等等了。


另外后面的文章也会对vue3的项目进行进一步完善。


关注公众号(月影WEB),了解更多的前后端知识;

欢迎大家关注互相交流学习;

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

推荐阅读更多精彩内容