创建项目

测试开发版本

PS D:\www\vue> npm init vite-app vue3demo02
npx: 7 安装成功,用时 6.915 秒
Scaffolding project in D:\www\vue\vue3demo02...

Done. Now run:

cd vue3demo02
npm install (or `yarn`)
npm run dev (or `yarn dev`)
D:\www\vue\vue3demo02> npm install

> esbuild@0.8.57 postinstall D:\www\vue\vue3demo02\node_modules\esbuild
> node install.js

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN notsup Unsupported engine for postcss@8.4.12: wanted: {"node":"^10 || ^12 || >=14"} (current: {"node":"13.14.0","npm":"6.14.4"})
npm WARN notsup Not compatible with your version of node/npm: postcss@8.4.12
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.2 (node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN vue3demo02@0.0.0 No description
npm WARN vue3demo02@0.0.0 No repository field.
npm WARN vue3demo02@0.0.0 No license field.

added 281 packages from 274 contributors and audited 283 packages in 94.675s

33 packages are looking for funding
run `npm fund` for details

found 3 vulnerabilities (2 low, 1 moderate)
run `npm audit fix` to fix them, or `npm audit` for details
PS D:\www\vue\vue3demo02> npm run dev

> vue3demo02@0.0.0 dev D:\www\vue\vue3demo02
> vite

[vite] Optimizable dependencies detected:
vue

Dev server running at:
> Network: http://192.168.1.162:3000/
> Network: http://192.168.109.1:3000/
> Network: http://192.168.16.1:3000/
> Local: http://localhost:3000/

目录解析

目录/文件

说明

build

项目构建(webpack)相关代码

config

配置目录,包括端口号等。我们初学可以使用默认的。

node_modules

npm 加载的项目依赖模块

src

这里是我们要开发的目录,基本上要做的事情都在这个目录里。里面包含了几个目录及文件:

assets: 放置一些图片,如logo等。

components:目录里面放了一个组件文件,可以不用。

App.vue:项目入口文件,我们也可以直接将组件写这里,而不使用 components 目录。

main.js项目的核心文件。

index.css:

static

静态资源目录,如图片、字体等。

public

公共资源目录。

test

初始测试目录,可删除

.xxxx文件

这些是一些配置文件,包括语法配置,git配置等。

index.html

首页入口文件,你可以添加一些 meta 信息或统计代码啥的。

package.json

项目配置文件。

README.md

项目的说明文档,markdown 格式

dist

使用 npm run build 命令打包后会生成该目录。

App.vue

<template>
<div>
<img alt="Vue logo" src="./assets/logo.png" />
<!-- msg="App父模块 是将这段内容消息传递给msg 继而传给子模块"-->
<HelloWorld msg="App父模块" />
</div>
</template>

<script>
import HelloWorld from './components/HelloWorld.vue'

export default {
name: 'App',
components: {
HelloWorld
}
}
</script>
<template>
<div>
<h1>{{ msg }}</h1>
<button @click="count++">count is: {{ count }}</button>
</div>
</template>

<script>
export default {
name: 'HelloWorld',
// props 可查找
// 简而言之就是父向子传递消息
props: {
msg: String
},
data() {
return {
count: 0
}
}
}
</script>