创建项目
测试开发版本
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>