9.第一个vue-cli项目
2024-09-03 02:27:28
1.什么是vue-cli
vue-cli 官方提供的一个脚手架,用于快速生成一个 vue 的项目模板;
预先定义好的目录结构及基础代码,就好比咱们在创建 Maven 项目时可以选择创建一个骨架项目,这个骨架项目就是脚手架,我们的开发更加的快速;
主要功能:
- 统一的目录结构
- 本地调试
- 热部署
- 单元测试
- 集成打包上线
2.需要的环境
Node.js : http://nodejs.cn/download/
Git : https://git-scm.com/downloads
确认nodejs是否安装成功:
- cmd 下输入
node -v
,查看是否能够正确打印出版本号即可! - cmd 下输入
npm-v
,查看是否能够正确打印出版本号即可!
安装Node.js淘宝镜像加速器(cnpm):
# -g 就是全局安装
npm install cnpm -g # 或使用如下语句解决 npm 速度慢的问题
npm install --registry=https://registry.npm.taobao.org
安装vue-cli:
cnpm install vue-cli -g # 测试是否安装成功
# 查看可以基于哪些模板创建 vue 应用程序,通常我们选择 webpack
vue list
3.第一个vue-cli应用程序
1.在文件夹中使用cmd创建一个名为myvue的vue项目并用webpack打包工具打包
# 这里的 myvue 是项目名称,可以根据自己的需求起名
vue init webpack myvue
说明:
- Project name:项目名称,默认 回车 即可
- Project description:项目描述,默认 回车 即可
- Author:项目作者,默认 回车 即可
- Install vue-router:是否安装 vue-router,选择 n 不安装(后期需要再手动添加)
- Use ESLint to lint your code:是否使用 ESLint 做代码检查,选择 n 不安装(后期需要再手动添加)
- Set up unit tests:单元测试相关,选择 n 不安装(后期需要再手动添加)
- Setup e2e tests with Nightwatch:单元测试相关,选择 n 不安装(后期需要再手动添加)
- Should we run npm install for you after the project has been created:创建完成后直接初始化,选择 n,我们手动执行;运行结果!
2.初始化并运行myvue项目
cd myvue
npm install
npm run dev
3.安装并运行成功后在浏览器输入:http://localhost:8080
4.分析vue-cli目录结构
- build 和 config:WebPack 配置文件
- node_modules:用于存放 npm install 安装的依赖文件
- src: 项目源码目录
- static:静态资源文件
- .babelrc:Babel 配置文件,主要作用是将 ES6 转换为 ES5
- .editorconfig:编辑器配置
- eslintignore:需要忽略的语法检查配置文件
- .gitignore:git 忽略的配置文件
- .postcssrc.js:css 相关配置文件,其中内部的 module.exports 是 NodeJS 模块化语法
- index.html:首页,仅作为模板页,实际开发时不使用
package.json:项目的配置文件
- name:项目名称
- version:项目版本
- description:项目描述
- author:项目作者
- scripts:封装常用命令
- dependencies:生产环境依赖
- devDependencies:开发环境依赖
5.分析src目录
src目录:项目的源码目录,所有代码都会写在这里
main.js:项目的入口文件,我们知道所有的程序都会有一个入口
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App' Vue.config.productionTip = false /* eslint-disable no-new */
new Vue({
el: '#app',
components: { App },
template: '<App/>'
})
说明:
mport Vue from 'vue'
:ES6 写法,会被转换成 require("vue"); (require 是 NodeJS 提供的模块加载器)import App from './App'
:意思同上,但是指定了查找路径,./ 为当前目录Vue.config.productionTip = false
:关闭浏览器控制台关于环境的相关提示new Vue({...})
:实例化 Vueel: '#app'
:查找 index.html 中 id 为 app 的元素template: '<App/>'
:模板,会将 index.html 中 <div id="app"></div> 替换为 <App />components: { App }
:引入组件,使用的是 import App from './App' 定义的 App 组件;
App.vue:index.html中调用的组件
<template>
<div id="app">
<img src="./assets/logo.png">
<HelloWorld/>
</div>
</template> <script>
import HelloWorld from './components/HelloWorld' export default {
name: 'App',
components: {
HelloWorld
}
}
</script> <style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
说明:
- template:HTML 代码模板,会替换 <App /> 中的内容
- import HelloWorld from './components/HelloWorld':引入 HelloWorld 组件,用于替换 template 中的 <HelloWorld/>
export default{...}:导出 NodeJS 对象,作用是可以通过 import 关键字导入
- name: 'App':定义组件的名称
- components: { HelloWorld }:定义子组件
HelloWorld.vue:
<template>
<div>{{msg}}</div>
</template> <script>
export default {
name: 'HelloWorld',
data () {
return {
msg: '这是我的第一个Vue项目'
}
}
}
</script> <!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h1, h2 {
font-weight: normal;
}
ul {
list-style-type: none;
padding: 0;
}
li {
display: inline-block;
margin: 0 10px;
}
a {
color: #42b983;
}
</style>
说明:
- <style scoped> :CSS 样式仅在当前组件有效,声明了样式的作用域,是当前的界面私有的!
最新文章
- 为什么学习webdriver
- Android多线程分析之四:MessageQueue的实现
- 深入理解CSS中的空白符和换行
- JavaScript作用域闭包简述
- 轻松搞定javascript预解析机制(搞定后,一切有关变态面试题都是浮云~~)
- Intent用法简介
- [ASP.NET]分析MVC5源码,并实现一个ASP.MVC
- NYOJ-214 单调递增子序列(二) AC 分类: NYOJ 2014-01-31 08:06 233人阅读 评论(0) 收藏
- 《c程序设计语言》读书笔记--统计字符数
- 并行编程条件变量(posix condition variables)
- SDP(1):ScalikeJDBC-基本操作介绍
- [转]解决scrapy下载图片时相对路径转绝对路径的问题
- Day 1 下午
- 字节输入流 FileInputStream
- 使用Docker部署javaWeb应用
- 【GMT43智能液晶模块】例程九:RTC实验——时钟显示
- Java第01次实验提纲(基本概念+编程环境入门+PTA)
- OpenStack中MySQL高可用配置
- 使用IntelliJ IDEA 15和Maven创建Java Web项目
- Hibernate配置详细解释(转 )