后端开发必须要掌握的前端知识

后端开发必须要掌握的前端知识

文章目录

  • 后端开发必须要掌握的前端知识
  • 一、ECMAScript 6
    • 1、 简介
    • 2、基本语法
      • 2.1、let声明变量
      • 2.2、const声明常量(只读变量)
      • 2.3、解构赋值
      • 2.4、模板字符串
      • 2.5、声明对象简写
      • 2.6、定义方法简写
      • 2.7、对象拓展运算符
      • 2.8、箭头函数
  • 二、Vue
    • 1、入门案例
    • 2、基本语法
      • 2.1、基本数据渲染和指令
      • 2.2、双向数据绑定
      • 2.3、事件
      • 2.4、修饰符
      • 2.5、条件渲染
      • 2.6、列表渲染
    • 3、组件
      • 3.1、局部组件
      • 3.2、全局组件
    • 4、实例生命周期
    • 5、路由(导航栏)
      • 5.1、引入js
      • 5.2、编写html
      • 5.3、编写js
    • 6、axios
    • 7、element-ui
      • 7.1、引入css
      • 7.2、引入js
      • 7.3、编写html
      • 7.4、编写js
  • 三、Node
    • 1.简介
      • 1.1、Node.js是什么
      • 1.2、能干嘛
      • 1.3、去哪下载
      • 1.4、怎么用
    • 2、快速入门
  • 四、NPM包管理器
    • 1、NPM是什么
    • 2、NPM工具的安装位置
    • 3、使用npm管理项目
      • 3.1、npm项目初始化操作
      • 3.2、修改npm镜像
      • 3.3、npm 下载js 依赖
      • 3.4、其它命令
  • 五、Babel
    • 1、是什么
    • 2、去哪下
    • 3、Babel的使用
      • 3.1、初始化项目
      • 3.2、创建文件
      • 3.3、配置 .babelrc
      • 3.4、安装转码器
      • 3.5、转码
  • 六、模块化
    • 1、什么是模块化开发
    • 2、CommonJS模块化规范
      • 2.1、导出模块
      • 2.2、导入模块
      • 2.3、运行程序
      • CommonJS使用 exports 和require 来导出、导入模块。
    • 3、ES6模块化规范
      • ES6使用 export 和 import 来导出、导入模块。
      • 3.1、导出模块
      • 3.2、导入模块
      • 3.3、运行程序
    • 4、ES6模块化的另一种写法
      • 4.1、导出模块
      • 4.2、导入模块
  • 七、Webpack
    • 1、什么是Webpack
    • 2、Webpack安装
      • 全局安装
    • 3、初始化项目
      • 3.1、创建webpack文件夹
      • 3.2、创建src文件夹
      • 3.3、src下创建common.js
      • 3.4、src下创建utils.js
      • 3.5、src下创建main.js
    • 4、创建webPack配置信息,配置打包信息
      • 4.1、webpack目录下创建配置文件webpack.config.js
      • 4.2、命令行执行编译命令
      • 4.3、webpack目录下创建index.html
    • 5、CSS打包
      • 5.1、安装style-loader和 css-loader
      • 5.2、修改webpack.config.js
      • 5.3、在src文件夹创建style.css
      • 5.4、修改main.js

一、ECMAScript 6

1、 简介

ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

简单来说:es6是一套标准,一套规范,JavaScript很好的遵循了这套规范。

2、基本语法

ES标准中不包含 DOM 和 BOM的定义,只涵盖基本数据类型、关键字、语句、运算符、内建对象、内建函数等通用语法。

2.1、let声明变量

创建 let.html

// var 声明的变量没有局部作用域
// let 声明的变量  有局部作用域
{
var a = 0
let b = 1
}
console.log(a)  // 0
console.log(b)  // ReferenceError: b is not defined
// var 可以声明多次
// let 只能声明一次
var m = 1
var m = 2
let n = 3
let n = 4
console.log(m)  // 2
console.log(n)  // Identifier 'n' has already been declared

2.2、const声明常量(只读变量)

创建 const.html

// 1、声明之后不允许改变    
const PI = "3.1415926"
PI = 3  // TypeError: Assignment to constant variable.
// 2、一但声明必须初始化,否则会报错
const MY_AGE  // SyntaxError: Missing initializer in const declaration

2.3、解构赋值

  • 解构赋值是对赋值运算符的扩展。

  • 是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。

  • 在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中数据字段获取。

创建 解构赋值.html

//1、数组解构
// 传统
let a = 1, b = 2, c = 3
console.log(a, b, c)
// ES6
let [x, y, z] = [1, 2, 3]
console.log(x, y, z)
---------------------------------------
//2、对象解构
let user = {name: 'hao', age: 18}
// 传统
let name1 = user.name
let age1 = user.age
console.log(name1, age1)
// ES6
let { name, age } =  user//注意:解构的变量必须是user中的属性
console.log(name, age)

2.4、模板字符串

模板字符串相当于加强版的字符串,用反引号 `,除了作为普通字符串,还可以用来定义多行字符串,还可以在字符串中加入变量表达式

创建 模板字符串.html

// 1、多行字符串
let string1 =  `Hey,
can you stop angry now?`
console.log(string1)
// Hey,
// can you stop angry now?
------------------------------------------------
// 2、字符串插入变量和表达式。变量名写在 ${} 中,${} 中可以放入 JavaScript 表达式。
let name = "Mike"
let age = 27
let info = `My Name is ${name},I am ${age+1} years old next year.`
console.log(info)
// My Name is Mike,I am 28 years old next year.
------------------------------------------------
// 3、字符串中调用函数
function f(){
    return "have fun!"
}
let string2 = `Game start,${f()}`
console.log(string2);  // Game start,have fun!

2.5、声明对象简写

创建 声明对象简写.html

const age = 12
const name = "Amy"

// 传统
const person1 = {age: age, name: name}
console.log(person1)

// ES6
const person2 = {age, name}
console.log(person2) //{age: 12, name: "Amy"}

2.6、定义方法简写

创建 定义方法简写.html

// 传统
const person1 = {
    sayHi:function(){
        console.log("Hi")
    }
}
person1.sayHi();//"Hi"

// ES6
const person2 = {
    sayHi(){
        console.log("Hi")
    }
}
person2.sayHi()  //"Hi"

2.7、对象拓展运算符

拓展运算符(…)用于取出参数对象所有可遍历属性然后拷贝到当前对象。

创建 对象拓展运算符.html

// 1、拷贝对象
let person1 = {name: "Amy", age: 15}
let someone = { ...person1 }
console.log(someone)  //{name: "Amy", age: 15}
-----------------------------------------------
// 2、合并对象
let age = {age: 15}
let name = {name: "Amy"}
let person2 = {...age, ...name}
console.log(person2)  //{age: 15, name: "Amy"}

2.8、箭头函数

箭头函数提供了一种更加简洁的函数书写方式,多用于匿名函数的定义。基本语法是:

参数 => 函数体

创建 箭头函数.html

// 传统
var f1 = function(a){
    return a
}
console.log(f1(1))

// ES6
var f2 = a => a
console.log(f2(1))
-----------------------------------------------
// 当箭头函数没有参数或者有多个参数,要用 () 括起来。
// 当箭头函数函数体有多行语句,用 {} 包裹起来,表示代码块,
// 当只有一行语句,并且需要返回结果时,可以省略 {} , 结果会自动返回。
var f3 = (a,b) => {
    let result = a+b
    return result
}
console.log(f3(6,2))  // 8

// 前面代码相当于:
var f4 = (a,b) => a+b   

还想了解更多:点击

二、Vue

Vue是一套用于构建用户界面的渐进式框架。

官网传送门:Vue.js - 渐进式 JavaScript 框架

1、入门案例

创建 demo.html


<div id="app">
    
    {{ message }}
div>
<script src="vue.min.js">script>
<script>

    // 创建一个vue对象
    new Vue({
        el: '#app',//绑定vue作用的范围
        data: {//定义页面中显示的模型数据
            message: 'Hello Vue!'
        }
    })

script>
  • 这就是声明式渲染:Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统

  • 这里的核心思想就是没有繁琐的DOM操作,例如jQuery中,我们需要先找到div节点,获取到DOM对象,然后进行一系列的节点操作

小技巧:
在vs code中创建代码片段:

文件 => 首选项 => 用户代码片段 => 新建全局代码片段/或文件夹代码片段:vue-html.code-snippets

注意:制作代码片段的时候,字符串中如果包含文件中复制过来的“Tab”键的空格,要换成“空格键”的空格

{
	"vue htm": {
		"scope": "html",
		"prefix": "vuehtml",
		"body": [
			"DOCTYPE html>",
			"",
			"",
			"<head>",
			"    ",
			"    ",
			"    ",
			"    <title>Documenttitle>",
			"head>",
			"",
			"<body>",
			"    
", "", " div>", "

你可能感兴趣的:(前端,javascript,vue.js)