当前位置: 首页 > news >正文

Vue.js 2.x笔记:安装与起步(1)

1. 环境准备

  Vue是一套用于构建用户界面的渐进式框架,设计为可以自底向上逐层应用。Vue 的核心库只关注视图层。

  安装Node.js,下载:https://nodejs.org/

  查看安装:

$ node -v

  npm包管理器,集成在node中。

  查看npm版本:

$ npm -v

  npm是国外资源,资源网络存在部分限制因素.

  安装国内镜像cnpm:

$ npm install -g cnpm --registry=https://registry.npm.taobao.org

2. 安装vue-cli脚手架构建工具

2.1 全局安装vue-cli

$ npm install -g vue-cli

  或:

$ cnpm install -g vue-cli

  查看安装的vue版本:

vue -V

2.2 使用vue-cli构建项目

  指定项目目录:

C:\Users\Libing>cd /d F:\Projects

  构建项目:

F:\Projects>vue init webpack libing.vue

  安装项目依赖包:

F:\Projects\libing.vue>cnpm install

  运行项目:

F:\10-Projects\libing.vue>cnpm run dev

  项目运行成功之后,在浏览器中打开地址查看:http://localhost:8080

  修改端口号:config/index.js

  项目打包:打包完成后,会生成 dist 文件夹。项目上线时,只需要将 dist 文件夹放到服务器。

$ npm run build

  或:

$ cnpm run build

2.3 Vue.js目录结构

目录/文件说明
build项目构建(webpack)相关代码
config配置目录,包括端口号等。
dist打包目录
node_modulesnpm 加载的项目依赖模块
src

开发目录,目录及文件:

  ◊ assets:存放图片、Logo等;

  ◊ components: 目存放一个组件文件,可以不用。

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

  ◊ main.js:项目的核心文件。

static静态资源目录,如图片、字体等。
test初始测试目录,可删除
xxxx文件配置文件,包括语法配置,git配置等。
index.html首页入口文件,可添加一些 meta 信息或统计代码
package.json项目配置文件
README.md项目说明文档,markdown 格式

3. 起步示例

3.1 示例

  示例1:

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>libing.vue</title>
  <script src="node_modules/vue/dist/vue.min.js"></script>
</head>

<body>
  <div id="app">
    <h1>{{ title }}</h1>
    <ul>
      <li v-for="todo in todos" v-bind:key="todo.id">
        {{ todo.text }}
        {{ getTitle() }}
      </li>
    </ul>
  </div>
  <script>
    new Vue({
      el: "#app",
      data: {
        title: "Todo List",
        todos: [{
            id: 1,
            text: "Pending"
          },
          {
            id: 2,
            text: "In Procedure"
          },
          {
            id: 3,
            text: "Done"
          }
        ]
      },
      methods: {
        getTitle: function () {
          return this.title;
        },
        add: function () {

        },
        remove: function () {

        }
      }
    });

  </script>
</body>

</html>

  示例2:

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>libing.vue</title>
  <script src="node_modules/vue/dist/vue.min.js"></script>
</head>

<body>
  <div id="app">
    <h1>{{ title }}</h1>
    <input type="text" v-model="newTodo" v-on:keyup.enter="add">
    <ul>
      <li v-for="(todo,index) in todos">
        {{ todo.text }}
        <button v-on:click="remove(index)">X</button>
      </li>
    </ul>
  </div>
  <script>
    new Vue({
      el: "#app",
      data: {
        title: "Todo List",
        newTodo: "",
        todos: [{
            text: "Pending"
          },
          {
            text: "In Procedure"
          },
          {
            text: "Done"
          }
        ]
      },
      methods: {
        add: function () {
            var text = this.newTodo.trim()
            if (text) {
                this.todos.push({ text: text })
                this.newTodo = ''
            }
        },
        remove: function (index) {
            this.todos.splice(index, 1)
        }
      }
    });

  </script>
</body>

</html>

3.2 说明

  每个Vue应用都需要通过实例化 Vue 来实现。

var vm = new Vue({
  // 选项
});

  Vue构造函数参数:

    el:DOM 元素中的 id

    data:定义属性

    methods:定义函数,可以通过 return 来返回函数值。

    {{ }}:输出对象属性和函数返回值

4. Vue生命周期图示

转载于:https://www.cnblogs.com/libingql/p/9153330.html

相关文章:

  • Form身份验证
  • Linux常用命令——runlevel、init
  • python爬虫——爬取豆瓣TOP250电影
  • 携程小程序初体验
  • java虚拟机之垃圾回收算法
  • 10分钟了解JS堆、栈以及事件循环的概念
  • 常见面试题—css实现垂直水平居中
  • hyperLedger fabric 从0到1 + End2EndIT源码解析
  • 天猫校园店一个月签约100家高校!未来要服务2000万高校人群
  • T-SQL 簡易小數處理
  • 基于 CentOS 搭建 WordPress 个人博客
  • eclipse部署jrebel热启动后报错java.lang.OutOfMemoryError: PermGen space问题
  • Powershell渗透测试系列–进阶篇
  • 【leetcode】802. Find Eventual Safe States
  • 架构的代码结构
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • Android开源项目规范总结
  • ECS应用管理最佳实践
  • FastReport在线报表设计器工作原理
  • JAVA_NIO系列——Channel和Buffer详解
  • Laravel 实践之路: 数据库迁移与数据填充
  • Netty 4.1 源代码学习:线程模型
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • storm drpc实例
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 和 || 运算
  • 记录:CentOS7.2配置LNMP环境记录
  • 坑!为什么View.startAnimation不起作用?
  • 批量截取pdf文件
  • 前端面试之CSS3新特性
  • 如何优雅地使用 Sublime Text
  • 思维导图—你不知道的JavaScript中卷
  • 06-01 点餐小程序前台界面搭建
  • 第二十章:异步和文件I/O.(二十三)
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • #14vue3生成表单并跳转到外部地址的方式
  • (3)(3.5) 遥测无线电区域条例
  • (4)(4.6) Triducer
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (二)fiber的基本认识
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • .bat文件调用java类的main方法
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .NetCore项目nginx发布
  • .net下的富文本编辑器FCKeditor的配置方法
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • @Autowired注解的实现原理
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell
  • [] 与 [[]], -gt 与 > 的比较
  • [BUG]vscode插件live server无法自动打开浏览器
  • [BZOJ3211]:花神游历各国(小清新线段树)
  • [C#]扩展方法