传播操作符
- 把一个对象传播到另一个对象中 通过 …
数组map和reduce方法使用(了解)
map
reduce
Es6小结
-
将我们的Es6语法放到Nodejs中也是可以运行的
-
es6 可以在nodejs,uniapp 微信小程序中得到广泛的支持,可以大胆的使用这些语法
-
创建js文件—node xx.js—运行
//传通定义变量和常量的方式 统一使用var
var name = “学相伴”;
var link = “https://www.kuangstudy.com”;
var PI = Math.PI;
console.log(name);
console.log(link);
console.log(PI);
//Es6定义方式
let name2 = “学相伴2”;
let link2 = “https://www.kuangstudy.com”;
//定义常量
const PI2 = Math.PI;
console.log(name2);
console.log(link2);
console.log(PI2);
4、Npm包管理器
-
安装我们的nodejs的时候npm就内置进去了 npm -v 查看
-
类似于我们的Maven
-
仓库地址 https://www.npmjs.com/
- npm :node package manager, node包管理器 类似于java的maven
作用:
1.快速构建nodejs工程
-
在我们的项目路径下执行
-
npm init
-
npm init -y 自动帮我们跳过操作
-
得到一个package.json文件,内容如下:
{
“name”: “npmpro”, //工程名
“version”: “1.0.1”, //版本
“description”: “我是一个node工程”, //描述
“main”: “index.js”, //入口js文件
“scripts”: { //运行脚本
“test”: “echo “Error: no test specified” && exit 1”
},
“keywords”: [
“node”
],
“author”: “liu”, //开发者
“license”: “ISC” //授权协议
}
类似于 pom.xml 文件作用管理依赖
2.快速的安装依赖第三方模块,比如npm install mysql redis 等等
2-1:快速安装依赖第三方模块?
项目路径下执行
npm install xxxx 或者 npm i xxx模块名
npm install mysql
2-2:安装模块放在什么地方?
安装的模块会放到项目的node_modules文件夹中
2-3:安装模块如何使用呢?
const redis = require(“redis”);
const mysql = require(“mysql”);
根据官网学习https://www.npmjs.com/
2-4:模块和package.json有什么关系呢?
“dependencies”: {
“mysql”: “^2.18.1”,
“redis”: “^3.1.2”
}
1.通过npm i xxxx会记录在package.json这个文件中。
2.就类似于maven中pom.xml一个含义,记录作用:复用(新建工程的时候不用重复安装,直接把package.json复制过去,然后在项目路径下执行 npm install,可以把package.json所依赖的模块全部自动下载下来)。
3.为什么不直接拷贝node_moudules呢,当然是可以,但是下载的模块依赖过多文件多大,混乱文件很多,一般几万到几十万的文件
2-5:如果安装模块很慢怎么办?
任意命令行执行即可(安装cnpm)
npm install -g cnpm --registry==https://wwww.registry.npm.taobao.org
cnpm install xxx
2-6:如何运行?
node xxxx.js 运行
ctrl+c 终止
2-7:如何下载多个?
npm istall xxx xxx xxx
cnpm istall xxx xxx xxx
2-8:下载指定的版本号
npm istall xxx@版本号
具体的版本号:查看npm官网:
3.如何卸载模块呢
npm uninstall xxx xxx
5、Babel的安装作用
-
Es6的高级语法在浏览器中甚至nodejs中是无法执行的
-
Babel将es6代码转变为es5,不用担心环境问题
安装Babel
-
创建文件,在文件项目路径下安装
npm install -g babel-cli
-
babel --version 查看版本
使用Babel
-
创建文件夹
-
初始化项目
npm init -y
-
创建src文件—创建/src/exmaple.js
//es6
let name = “xiaoliu”;
const title = “sichuan”;
let arr = [1,2,3,4,5];
let newarr = arr.map(ele=>ele*2);
console.log(newarr);
- 创建babel配置文件
.babelrc
{
“presets”: [“es2015”],
“plugins”: []
}
-
项目路径下执行
npm install --save-dev babel-preset-es2015
,安装我们的转码器 -
继续执行
babel src -d dist
将我们src下的js文件进行转码—帮我们生成/dist/exmaple.js文件 -
对比我们的exmaple.js
“use strict”;
//es2015 自动帮我们生成的
var name = “xiaoliu”;
var title = “sichuan”;
var arr = [1, 2, 3, 4, 5];
var newarr = arr.map(function (ele) {
return ele * 2;
});
console.log(newarr);
//es6 我们自己写的
let name = “xiaoliu”;
const title = “sichuan”;
let arr = [1,2,3,4,5];
let newarr = arr.map(ele=>ele*2);
console.log(newarr);
自定义脚本
- 在package.json文件中
“scripts”: {
“test”: “echo “Error: no test specified” && exit 1”,
“xxx” : “babel src -d dist” //手动添加xxx
},
- 然后删除dist–执行
npm run xxx
—同理会生成我们的dist,意义都一样
6、模块化管理
模块化规范
-
CommonJS模块化规范
-
ES6模块化规范
CommonJS
- exports 导出方法 —四则运算.js
// 工具类
const sum = function(a,b){
return a+b;
}
const sub = function(a,b){
return a-b;
}
const mul = function(a,b){
return a*b;
}
const di = function(a,b){
return a/b;
}
//导出给别人使用
// module.exports = {
// sum:sum,
// sum:sum,
// sum:sum,
// sum:sum
// }
module.exports = {
sum,
sub,
mul,
di
}
- require 导入方法—xxx.js
// require
const m = require(‘./四则运算.js’)
//必须导出了才能使用
console.log(m.sum(1,2));
console.log(m.sub(1,2));
console.log(m.mul(1,2));
console.log(m.di(1,2));
// commonjs 模块化开发
Es6模块化规范
- export 导出方法 【这里没有s】—userApi.js
export function getList(){
//正是业务中,异步获取数据
console.log(“获取数据列表”);
}
export function save(){
//正是业务中,异步获取数据
console.log(“保存数据”);
}
- import 导入方法—userTest.js
import {getList,save} from ‘./userApi.js’
getList();
save();
//默认不支持 es6 语法的 import
//所以我们要使用Babel,生成浏览器认识的语法
1.初始化项目—npm init -y
2.创建.babelrs—添加配置
3.生成转码器—npm install --save-dev babel-preset-es2015
4.创建src文件夹—进行转码—babel src -d dist
5.运行—node userTest.js
新版es6语法
- 导出
// 前端开发中经常看到
export default{
getList(){
console.log(“获取数据列表”);
},
save(){
console.log(“保存数据”);
}
}
- 导入
//导入成一个对象
import user from ‘./userApi.js’
user.getList();
user.save();
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
最后
本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等
前端视频资料:
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
a6xz-1712605429741)]
[外链图片转存中…(img-hPMl2mHR-1712605429741)]
[外链图片转存中…(img-dK919vjZ-1712605429742)]
[外链图片转存中…(img-GMNC5bxw-1712605429743)]
[外链图片转存中…(img-oloOxcGU-1712605429743)]
[外链图片转存中…(img-3GtLFiYU-1712605429743)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-GR6LCy0p-1712605429744)]
最后
本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等
[外链图片转存中…(img-c3rsfgln-1712605429744)]
前端视频资料:
[外链图片转存中…(img-q00HN7ME-1712605429745)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-6BrYl43j-1712605429745)]