• Vue.js的快速入门(Vue、axios、node、js、npm、wepback的快速入门)


    目录

    一.Vue.js 是什么

    二.Vue的demo快速入门

    三.Vue的语法

     四.Vue组件(重点)

    五.Vue实例的生命周期

    六.axios

    七.Node.js

    八.npm包管理工具

    九.模块化

    十.Webpack打包工具

    学习前置条件:html.css.Javascript都已了解,Es6语法快速入门可以看完另外一篇文章:http://t.csdn.cn/OCgT6

    一.Vue.js 是什么

    Vue是一套用于构建用户界面的渐进式框架。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

    Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统。这里的核心思想就是没有繁琐的DOM操作,例如jQuery中,我们需要先找到div节点,获取到DOM对象,然后进行一系列的节点操作

    官方网站:Vue.js

    二.Vue的demo快速入门

    步骤:

    1.将vue.js包放到到项目目录下

    2.使用vccode创建新的html文件,输入!会自动填充vue的初始模板

    3.Vue的基本模板:

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <title>Document</title>
    8. </head>
    9. <body>
    10. <div id="app"> //一个div是一个范围
    11. {{message}} //插值表达式,绑定vue中的数据
    12. </div>
    13. <script src="vue.min.js"></script>
    14. <script> //创建一个Vue对象
    15. new Vue({
    16. el: '#app', //绑定Vue的作用范围
    17. data: { //定义页面中的模型数据
    18. message: 'Hello'
    19. }
    20. })
    21. </script>
    22. </body>
    23. </html>

    三.Vue的语法

    1.单向绑定v-bind和双向绑定v-model

    单向绑定v-bind:单向绑定的变量修改后,不会影响其它调用相同变量的值

    双向绑定v-model:双向绑定的变量修改后,其它调用相同变量的值也会被修改

    1. <body>
    2. <div id="app">
    3. <input type="text" v-bind:value="map.keyWord"/>
    4. <input type="text" v-model:value="map.keyWord"/>
    5. <p>{{map.keyWord}}</p>
    6. </div>
    7. <script src="vue.min.js"></script>
    8. <script>
    9. new Vue({
    10. el: '#app',
    11. data: {
    12. map: {
    13. keyWord: '尚硅谷'
    14. }
    15. }
    16. })
    17. </script>
    18. </body>

    单向绑定修改值后,不影响其它调用相同变量的值

    双向绑定修改值后,其它调用相同变量的值也会跟随改变

     2.绑定事件v-on

     绑定事件使用 v-on:事件=“方法名” 命令,可以触发methords中的方法

    1. <body>
    2. <div id="app">
    3. <button v-on:click="search()">查询</button>
    4. </div>
    5. <script src="vue.min.js"></script>
    6. <script>
    7. new Vue({
    8. el: '#app',
    9. methods: {
    10. search(){
    11. console.log("你好")
    12. }
    13. }
    14. })
    15. </script>
    16. </body>

     3.条件渲染v-if、v-else

    可以做条件判断,如下例:做一个是否选中的判断

    1. <div id="app">
    2. <input type="checkbox" v-model:value="ok">是否选择</input>
    3. <h1 v-if="ok">已选择</h1>
    4. <h1 v-else>未选择</h1>
    5. </div>
    6. <script src="vue.min.js"></script>
    7. <script>
    8. new Vue({
    9. el: '#app',
    10. data: {
    11. ok: true
    12. }
    13. })
    14. </script>
    15. </body>

    默认为勾选:

     4.列表渲染v-for

    1. <body>
    2. <div id="app">
    3. <table>
    4. <tr v-for="user in userList">
    5. <td>{{user.id}}</td>
    6. <td>{{user.username}}</td>
    7. <td>{{user.age}}</td>
    8. </tr>
    9. </table>
    10. </div>
    11. <script src="vue.min.js"></script>
    12. <script>
    13. new Vue({
    14. el: '#app',
    15. data: {
    16. userList: [
    17. { id: 1, username: 'helen', age: 18 },
    18. { id: 2, username: 'peter', age: 28 },
    19. { id: 3, username: 'andy', age: 38 }
    20. ]
    21. }
    22. })
    23. </script>
    24. </body>

    输出:

     

     四.Vue组件(重点)

    1.Vue组件有什么作用?

    组件(Component)是 Vue.js 最强大的功能之一。  组件可以扩展 HTML 元素,封装可重用的代码。组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树:

    2.Vue组件的使用

    (1)局部组件: 定义的局部组件只能在当前页面中使用

    1. <body>
    2. <div id="app">
    3. <Navbar></Navbar>
    4. </div>
    5. <script src="vue.min.js"></script>
    6. <script>
    7. new Vue({
    8. el: '#app',
    9. components: { // 定义局部组件,这里可以定义多个局部组件
    10. 'Navbar': { //组件的名字
    11. template: '<ul><li>首页</li><li>学员管理</li></ul>' //组件的内容
    12. }
    13. }
    14. })
    15. </script>
    16. </body>

    (2)全局组件:定义的局部组件可以在其它页面中使用

    先创建一个新文件:

    1. // 定义全局组件
    2. Vue.component('Navbar', {
    3. template: '<ul><li>首页</li><li>学员管理</li><li>讲师管理</li></ul>'
    4. })

    然后在页面中引入 

    1. <body>
    2. <div id="app">
    3. <Navbar></Navbar>
    4. </div>
    5. <script src="vue.min.js"></script>
    6. <script src="Navbar.js"></script>
    7. <script>
    8. var app = new Vue({
    9. el: '#app'
    10. })
    11. </script>
    12. </body>

    显示:  

    五.Vue实例的生命周期

     两个常用的:

    created方法是在数据渲染之前执行,mounted方法是在数据渲染之后执行

    1. <body>
    2. <div id="app">
    3. hello
    4. </div>
    5. <script src="vue.min.js"></script>
    6. <script>
    7. new Vue({
    8. el: '#app',
    9. data: {
    10. },
    11. created(){
    12. console.log('页面渲染之前执行')
    13. },
    14. mounted(){
    15. console.log('页面渲染之后执行')
    16. }
    17. })
    18. </script>
    19. </body>

    查看F12:

    六.axios

    1.axios是什么?

    axios是独立于vue的一个项目,基于promise用于浏览器和node.js的http客户端

    • 在浏览器中可以帮助我们完成 ajax请求的发送  
    • 在node.js中可以向远程接口发送请求  

    2.axios的使用

    1. <body>
    2. <div id="app">
    3. {{userList}}
    4. </div>
    5. <script src="vue.min.js"></script>
    6. <script src="axios.min.js"></script>
    7. <script>
    8. new Vue({
    9. el: '#app',
    10. data: {
    11. userList:[]
    12. },
    13. created(){
    14. this.getUserList() //在页面渲染之前执行getUserList()方法
    15. },
    16. methods: {
    17. // axios语法:axios.请求方式("请求接口路径").then(箭头函数).catch(箭头函数)
    18. //请求成功执行then方法,请求失败执行catch方法
    19. getUserList(){
    20. axios.get("aaa.json")
    21. .then(response => { //resonse是接口返回的数据
    22. console.log(response)
    23. //获取response中的数据赋给userList
    24. this.userList=response.data.data.items
    25. })
    26. .catch(error =>{
    27. console.log('*****'+error)
    28. })
    29. }
    30. }
    31. })
    32. </script>
    33. </body>

     F12可以看到response的包含的数据

    输出:

    七.Node.js

    1.Node.js是什么

    简单的说 Node.js 是JavaScript的运行环境,就像jdk是java的运行环境一样 。JavaScript可以不用浏览器,直接使用Node.js运行JavaScript,它基于Google的V8引擎,V8引擎执行Javascript的性能。Node.js还模拟了tomcat服务器,可以用来做服务端应用开发。

    官网:Node.js

    中文网:Node.js 中文网

     查看版本:node -v

    2.Node.js快速入门

     模拟服务器:

    1. const http = require('http');
    2. http.createServer(function (request, response) {
    3. // 发送 HTTP 头部
    4. // HTTP 状态值: 200 : OK
    5. // 内容类型: text/plain
    6. response.writeHead(200, {'Content-Type': 'text/plain'});
    7. // 发送响应数据 "Hello World"
    8. response.end('Hello Server');
    9. }).listen(8888);
    10. // 终端打印如下信息
    11. console.log('Server running at http://127.0.0.1:8888/');

    在终端中输入命令:

     访问127.0.0.2:8888:

    八.npm包管理工具

    1.什么是nmp?

    npm是Node.js包管理工具,相当于后端的Maven 。在下载Node.js的时候,npm会被一起下载到Node.js的安装目录下,也就是Node.js本身集成了npm

    2.使用npm管理项目

    第一步:npm init (初始化项目)

    1. #建立一个空文件夹,在命令提示符进入该文件夹  执行命令初始化
    2. npm init
    3. #按照提示输入相关信息,如果是用默认值则直接回车即可。
    4. #name: 项目名称
    5. #version: 项目版本号
    6. #description: 项目描述
    7. #keywords: {Array}关键词,便于用户搜索到我们的项目
    8. #我们也可以使用npm init -y命令,跳过初始化设置

    确认后会生成一个package.json文件,这个是包的配置文件,相当于maven的pom.xml,我们之后可以根据需要进行修改。 

    第二步:修改npm镜像

    1. #使用淘宝的镜像地址下载
    2. npm config set registry https://registry.npm.taobao.org
    3. #查看npm配置信息
    4. npm config list

    第三步:npm install(下载镜像)

    1. npm install jquery #安装依赖包的最新版
    2. npm install jquery@2.1.x #安装指定的版本
    3. npm install #根据package.json中的配置下载依赖,初始化项目

    npm的其它命令

    1. npm update 包名 #更新包(更新到最新版本)
    2. npm update -g 包名 #全局更新
    3. npm uninstall 包名 #卸载包
    4. npm uninstall -g 包名 #全局卸载

    九.模块化

    1.什么是模块化

    理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块。但是,Javascript不是一种模块化编程语言,它不支持"类"(class),包(package)等概念,更遑论"模块"(module)了。

    模块化规范:  

    • ES5模块化规范
    • ES6模块化规范:ES6的模块化无法在Node.js中执行,需要用Babel编辑成ES5后再执行

    2.ES5模块化规范

    假设想在02.js中调用01.js,01.js内容如下:

    1. // 定义成员:
    2. const jia = function(a,b){
    3. return parseInt(a) + parseInt(b)
    4. }
    5. const jian = function(a,b){
    6. return parseInt(a) - parseInt(b)
    7. }
    8. // 设置哪些方法可以被其它模块调用
    9. module.exports = {
    10. jia,
    11. jian
    12. }

    02.js内容如下

    1. //引入模块,注意:当前路径必须写 ./
    2. const m = require('./01.js')
    3. const result1 =m.jia
    4. const result2 = m.jian
    5. console.log(result1, result2)

    控制台输出:

    十.Webpack打包工具

    1.什么是Webpack

    Webpack 是一个前端资源加载/打包工具。它将模块按照指定的规则生成对应的静态资源。Webpack 可以将多种静态资源 js、css、less 转换成一个静态文件,减少了页面的请求

     

    2.Webpack使用

    (1)创建配置文件webpack.config.js

    1. const path = require("path"); //Node.js内置模块
    2. module.exports = {
    3. entry: './src/main.js', //配置入口文件
    4. output: {
    5. path: path.resolve(__dirname, './dist'), //输出路径,__dirname:当前文件所在路径
    6. filename: 'bundle.js' //输出文件名
    7. }
    8. }

    (2)执行编译命令,生成bundle.js文件

    1. webpack #有黄色警告
    2. webpack --mode=development #没有警告

    (3)可以在其它模块直接导入bundle.js文件 

  • 相关阅读:
    【专题学习】对比学习原理及代码
    JAVA——JVM中垃圾回收算法
    30天Python入门(第二十二天:Python爬虫基础)
    ECCV 2022 | k-means Mask Transformer
    全局前置路由守卫(beforeEach)
    Web Audio API 第6章 高级主题
    通过中断类型码求中断入口地址
    毕业季--写给大学毕业生的一番话
    docker安装mysql
    从技术角度看待某物APP私删用户视频事件
  • 原文地址:https://blog.csdn.net/w20001118/article/details/125475022