likes
comments
collection
share

vue3-环境搭建(docker版本)

作者站长头像
站长
· 阅读数 71

大大小小项目经历无数,之前都是写的vue2的项目,因为项目需要,边学边用vue3,也算能转的开,但心里一直想系统的理顺一下vue3。

环境搭建

由于nodjs的包机制,前端环境永远是无法轻松逾越的大山,时不时的nodjs版本不对,包中某个引用异常,然后各种百度各种尝试。看着前端项目,常常感叹,咋引用那么多包啊。

但我不是一个纯前端,我不会在环境上浪费太多时间,因为我有docker。docker在手,环境搞定。

不会docker没关系,按照下边操作,一样能搞,最重要的是比装nodjs简单。至于开发,还是在你本地开发。因为docker有个数据卷映射功能,能把你开发目录直接映射到docker系统里的目录。

因为我用的是win环境,所以要说的也是win docker安装vue环境。

win docker

百度直接搜索docker,进入官网,直接点击那个window版本的下载。大概564M,下载完后,一路next安装。这要说明一点的是你的系统必须是win10及以上,家庭版本的系统需要自己百度攻略开启wsl2。

docker镜像制作

docker安装完后,也启动了,你先创建一个项目目录,假设叫D:/vuedemo,然后在该目录下新建一个docker镜像制作的文本,名字就叫Dockerfile。内容如下:

FROM node
LABEL maintainer="作者随便 <happy@hanppy>"
RUN npm config set registry https://registry.npmmirror.com/
WORKDIR /app

很简单只有短短四行。

第一行,node是一个官方的基础镜像,在这个镜像基础上构建自己的镜像。

第二行,作者,可以忽略甚至没有这一行。

第三行,执行npm镜像源设置,要不是因为需要重制镜像源,可以直接用node镜像来开发。

第四行,设置工作目录,因为node基础镜像是一个linux,所以可以设置目录为"/app",没有linux经验的可以把"/app"理解成根目录下的app目录。linux只有且仅有一个根目录"/"。

下一步在Dockerfile同级目录打开一个cmd,然后执行命令:

docker build -t nodejs2:v1 .

然后就能看到镜像文件在不断下载安装。

vue3-环境搭建(docker版本)

命令解释一下:

docker就是安装docker后才有的docker命令。

build 是创建一个镜像文件的命令。

-t 指定镜像文件名称,名称包括,名称:版本号,如例子所示:nodejs:v1

最后那个点千万不能丢,表示在当前目录下寻找Dockerfile文件进行镜像文件创建。

docker-compose 创建开发环境容器

有了镜像文件只是第一步,相当于你有了一个系统盘,想要把系统真的能跑起来,你还需要找台机子安装这个系统盘,docker容器创建就相当于安装系统。

我们这里采用最好操作的docker-compose方法来安装容器,首先在D:/vuedemo下创建一个以容器名命名的目录,假设叫 myvue,然后在myvue下创建文件,名为docker-compose.yml。内容如下:

version: '3.8'

networks:
  nodejsnet:
    driver: bridge

services:
  nodejs:
    image: nodejs:v1      #镜像名称,就是制作镜像时候的名字
    container_name: nodjs #容器名称,可以省略。系统会使用默认名字
    volumes:
      - D:/vuedemo/project:/app  #这是重点,映射你本地目录到容器系统中的目录 D:/vuedemo/project 为你的项目根目录,/app为容器系统工作目录。中间用“:”表示映射
    stdin_open: true
    tty: true
    environment:
      - NODE_ENV=development
    ports:
      - 5173:5173 # 前边是本地端口,后边是容器端口,意识是把本地5173映射到容器5173端口
    networks:
     - nodejsnet
    command: sh
    restart: "no"

在该配置文件同级目录下调起cmd,然后运行命令:

docker-compose up -d

这个命令经常用,意思就是启动安装启动容器,或者更新启动容器。docker-compose在安装完docker后也会有的命令。

容器中创建vue项目

容器有了。下一步就是登陆容器的terminal。直接打开桌面容器。点击容器对应的terminal按钮。如下图:

vue3-环境搭建(docker版本)

然后就出来一个熟悉的“cmd”。

vue3-环境搭建(docker版本)

vue3 方法初始化项目

在命令行里执行如下创建项目命令

npm init vue@latest

剩下的参考官方文档:cn.vuejs.org/guide/quick…

vite 方法初始化项目

在命令行里执行如下命令:

npm create vite@latest my-vue-app --template vue

参考官方文档:cn.vitejs.dev/guide/#scaf…

说明一下,npm init 等于 npm create命令,之前就很困惑为啥npm一会init一会create,百度了一下,两个命令一样。

两种初始化vue项目用的模块不一样,一个是vue一个是vite,但最后都是生成一个vite项目。通过修改生成项目的配置文件,最后效果一样。

vite配置

由于docker容器所依赖的wsl2技术,有一些先天缺陷,导致容器中无法监听宿主机文件变更,所以需要vite特殊配置一下,以便实现热刷新。相关说明链接:cn.vitejs.dev/config/serv…

在D:/vuedemo/project/ 下找到vue项目目录,找到一个名叫“vite.config.js”的文件,添加配置:

  server:{
    host:"0.0.0.0",
    hmr:true,
    watch: { usePolling: true }
  }

具体位置如下图

vue3-环境搭建(docker版本)

其中host设置,允许容器外,即宿主机访问该容器的端口。

watch设置,是实现热刷新。

最后在容器cmd里运行 npm run dev 启动vue项目。

然后在浏览器里访问 localhost:5173。

结语

对于开发来说,万事环境难,环境搭完了,后边可以跟着文档系统学习了。

预计还会输出几篇vue3的文章,但肯定不是无脑的搬运文档。初步计划把印象深刻,与vue2差异大的一些内容整理一下进行输出。

转载自:https://juejin.cn/post/7168876290400452621
评论
请登录