基础面试题
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
主要内容包括:HTML,CSS,JavaScript,浏览器,性能优化等等
六个属性(对象)
{
“name”: “weg”,
“age”: “18”,
“sex”: “男”,
“url”:“https://www.baidu.com”,
“address”: {
“street”: “文苑路”,
“city”: “南京”,
“country”: “中国”
},
“links”: [
{
“name”: “bilibili”,
“url”: “https://www.bilibili.com”
},
{
“name”: “baidu”,
“url”: “https://www.baidu.com”
},
{
“name”: “cqh video”,
“url”: “https://www.4399.com”
}
]
}
初探axios
{{info.name}}
{{info.address.city}}
点我
计算属性
currentTime {{currentTime()}}
currentTime {{currentTime1}}
插槽初体验slot
自定义组件
<todo-items slot=“todo-items” v-for=“(item1,index1) in todoItems”
v-bind:item=“item1” v-bind:index=“index1”
v-on:remove1=“removeItems(index1)” >
当我们点击删除的时候,就会调用组件内部的方法remove,然后remove方法中采用事件分发给remove1,
而组件内部的v-on:remove1=“removeItems(index1)” 将我们的remove1绑定到组件外的removeItems方法,
从而实现组件内部调用组件外部的方法进行删除操作
vue-cli
安装环境
需要的环境
Node.js : http://nodejs.cn/download/
确认nodejs安装成功:
-
cmd 下输入 node -v,查看是否能够正确打印出版本号即可!
-
cmd 下输入 npm -v,查看是否能够正确打印出版本号即可!
-
上面两个成功说明环境就OK了
这个npm,就是一个软件包管理工具,就和linux下的apt软件安装差不多!
npm 是 JavaScript 世界的包管理工具,并且是 Node.js 平台的默认包管理工具。通过 npm 可以安装、共享、分发代码,管理项目依赖关系。
Npm命令解释
-
npm install moduleName: 安装模块到项目目录下
-
npm install -g moduleName: -g的意思是将模块安装到全局,具体安装到磁盘哪个位置,要看 npm config prefix 的位置
-
npm install --save moduleName: --save的意思是将模块安装到项目目录下,并在package文件的dependencies节点写入依赖, -S 为该命令的缩写
-
npm install --save-dev moduleName : --save-dev 的意思是将模块安装到项目目录下,并在package 文件的 devDependencies 节点写入依赖 ,-D为该命令的缩写
安装 Node.js 淘宝镜像加速器(cnpm)
-g 就是全局安装
npm install cnpm -g
若安装失败,则将源npm源换成淘宝镜像
因为npm安装插件是从国外服务器下载,受网络影响大
npm config set registry https://registry.npm.taobao.org
然后再执行
npm install cnpm -g
安装vue-cli
#在命令台输入
cnpm install vue-cli -g
#查看是否安装成功
vue list
第一个 vue-cli 应用程序
在我们项目路径下
这里的 myvue 是项目名称,可以根据自己的需求起名 注意在自己的项目路径下创建
vue init webpack myvue
-
我们初学这里一路都选择no即可,实际开发的时候这里一路yes就可以了会帮我们生成一些默认的东西;
-
初始化并运行
cd myvue
npm install
启动
//我们启动的文件路径一定是进入项目文件里面里面
npm run dev
// 如果启动失败,注意文件的路径
我们也可以在idea的Terminal里面运行,但是注意是管理员身份
Webpack
WebPack 是一款模块加载器兼打包工具,它能把各种资源,如 JS、JSX、ES6、SASS、LESS、图片等都作为模块来处理和使用。
在任何路径下执行都可以
npm install webpack -g
npm install webpack-cli -g
测试安装成功: 输入以下命令有版本号输出即为安装成功
webpack -v
webpack-cli -v
使用Webpack
-
先创建一个包 交由idea打开 会生成一个.idea文件 那么就说明该文件就交由idea负责
-
在idea中创建modules包,用于放置JS模块等资源文件,再创建hello.js,hello.js 暴露接口 相当于Java中的类
//第一步 暴露一个方法:sayHi
exports.sayHi = function () {
document.write(“
狂神说ES6
>”) //方法体}
- 创建main.js 当作是js主入口 , main.js 请求hello.js 调用sayHi()方法
//第二步 引入方法
var hello1 = require(“./hello”);//请求此路径下的hello模块(其实就是hello.js)赋给hello1,相当于我们 hello1=new hello1
hello1.sayHi() //调用hello模块中的方法
- 在主目录创建webpack-config.js , webpack-config.js 这个相当于webpack的配置文件
enrty请求main.js的文件
output是输出的位置和名字
-
entry:入口文件,指定webpack用哪个文件作为项目的入口
-
output:输出,指定webpack把处理完成的文件放置到指定路径
-
module:模块,用于处理各种类型的文件
-
plugins:插件,如:热更新,代码重用等
-
resovle:设置路径指向
-
watch:监听,用于设置文件改动后直接打包
module.exports = { //导出这个模块
entry: ‘./modules/main.js’, //入口:当前目录下的modules下的main.js
output: { //输出:
filename: ‘./js/bundle.js’ //位置:当前目录下的js下的bundle.js
}
}
-
在idea命令台输入webpack命令(idea要设置管理员启动)(首先要进入我们的项目中)
-
注意:新版本要使用:webpack ./modoules/main.js -o ./dist/js/bundle.js 进行打包【我们这里采用这个】
-
./modoules/main.js 这里的main.js得是我们的引入模块的部分!!!
-
完成上述操作之后会在主目录生成一个dist文件 生成的js文件夹路径为/ dist/js/bundle.js
-
在主目录创建index.html 导入bundle.js
index.html
- 说明
x 参数 --watch用于监听 实时打包
webpack --watch
vue-router
1.项目路径下安装
npm install vue-router --save-dev
2.导入
import VueRouter from “vue-router”;
3.使用
Vue.use(VueRouter);
我们的axios操作也一样
vue-router
是一个我们标准的前端化工程
vue-router demo实例
1. 将之前案例由vue-cli生成的案例用idea打开
2. 清理不用的东西 assert下的logo图片 component定义的helloworld组件 我们用自己定义的组件
3. 清理代码 以下为清理之后的代码 src下的App.vue 和main.js以及根目录的index.html
这三个是默认代码
index.html
main.js
import Vue from ‘vue’
import App from ‘./App’
Vue.config.productionTip = false
new Vue({
el: ‘#app’,
components: {App},
template: ‘’
})
App.vue
4.在components目录下创建一个自己的组件Content,Test,Main(这两个和Content内容一样的就不放示例代码了)【我们组件中export导出,要使用的时候在其他组件中import即可!!】
Content.vue
内容页
5.安装路由,在src目录下,新建一个文件夹 : router,专门存放路由
index.js(默认配置文件都是这个名字)【这里在我们安装vue-cli的时候选择yes,则会自动帮我们生成】
import Vue from ‘vue’;
import VueRouter from “vue-router”; //导入我们安装的vue-router
import Content from “…/components/Content”; //导入我们自己写的vue组件
import Main from “…/components/Main”; //导入我们自己写的vue组件
import liu from “…/components/liu”; //导入我们自己写的vue组件
//安装路由 ,虽然我们导入了vue-router,但是要显示声明使用VueRouter
Vue.use(VueRouter);
//配置导出路由,为了让别人使用
export default new VueRouter({ //导出我们的对象
routes:[ //路由
{
path:‘/content’, //路由的路径 @RequestMapping
name:‘content’, //给我们的路由起名
component:Content //跳转的组件
},
{
path:‘/main’,
name:‘main’,
component:Main
},
{
path:‘/liu’,
name:‘liu’,
component:liu
}
]
});
6.在main.js中配置路由
main.js
import Vue from ‘vue’
import App from ‘./App’
import router from ‘./router’ //自动扫描当前文件里面的路由配置
Vue.config.productionTip = false
new Vue({
router, //配置路由,才能使用
el: ‘#app’,
components: { App },
template: ‘’
})
7.在App.vue中使用路由
App.vue
Vue-Router
首页 //相当于我们原来的a标签 to就是herf
内容页
llll
//展示视图
总结
第一步 定义我们的组件
第二步 index.js 导入我们的路由(自己写的一些vue组件),它相当于专注于路由的配置
第三步 main.js 配置使用我们的路由,它整个前端工程的一个入口
第四步 App.vue 使用路由
8.启动测试一下 : npm run dev
9.效果图如下
vue+elementUI实战
elementUI官网 https://element.eleme.cn/#/zh-CN
根据之前创建vue-cli项目一样再来一遍 创建项目
1. 创建一个名为 hello-vue 的工程 vue init webpack hello-vue
2. 安装依赖,我们需要安装 vue-router、element-ui、sass-loader 和 node-sass 四个插件
进入工程目录
cd hello-vue
安装 vue-router
npm install vue-router --save-dev
安装 element-ui
npm i element-ui -S
安装依赖
npm install
安装 SASS 加载器
cnpm install sass-loader node-sass --save-dev
启动测试
npm run dev
3. 创建成功后用idea打开,并删除净东西 创建views和router文件夹用来存放视图和路由
4. 在views创建Main.vue
Main.vue
首页
//定义内容5. 在views中创建Login.vue视图组件
Login.vue(用的饿了么UI中的代码)
欢迎登录
登录
<el-dialog
title=“温馨提示”
:visible.sync=“dialogVisible”
width=“30%”
:before-close=“handleClose”>
请输入账号和密码
<el-button type=“primary” @click=“dialogVisible = false”>确 定
6. 创建路由,在 router 目录下创建一个名为 index.js 的 vue-router 路由配置文件
index.js
//导入vue
import Vue from ‘vue’;
import VueRouter from ‘vue-router’;
//导入组件
import Main from “…/views/Main”;
import Login from “…/views/Login”;
//使用
Vue.use(VueRouter);
//导出
export default new VueRouter({
routes: [
{
//登录页
path: ‘/main’,
component: Main
},
//首页
{
path: ‘/login’,
component: Login
},
]
})
7. 在main.js中配置相关
main.js main.js是index.html调用的 所以基本上所有东西都导出到这
一定不要忘记扫描路由配置并将其用到new Vue中
import Vue from ‘vue’
import App from ‘./App’
import VueRouter from “vue-router”;
//扫描路由配置
import router from “./router”
import ElementUI from “element-ui” //导入elementUI
import ‘element-ui/lib/theme-chalk/index.css’ //导入element css
//使用
Vue.use(VueRouter)
Vue.use(ElementUI)
Vue.config.productionTip = false
new Vue({
el: ‘#app’,
router,
render: h => h(App), //ElementUI规定这样使用
})
8. 在App.vue中配置显示视图
App.vue
到这里我们可能会遇到错误: Module build failed: TypeError: this.getOptions is not a function
原因是我们的sass-loader版本过高 要去package.json改为低版本
然后重新执行npm install 即可!!!
或者直接卸载重新安装
npm uninstall node-sass 卸载
npm install node-sass@4.14.1 安装低版本
npm run dev 运行
9. 最后效果
路由嵌套
嵌套路由又称子路由,在实际应用中,通常由多层嵌套的组件组合而成。相当于局部变化
1、创建src/views/user/ Profile.vue
个人信息
2、创建src/views/user/ List.vue
用户列表
3、修改我们的Main.vue,这里采用了ElementUI
用户管理
//插入的地方
个人信息
//插入的地方
用户列表
内容管理
分类管理
内容列表
个人信息
退出登录
//在这里展示视图
4、index.js
//导入vue
import Vue from ‘vue’;
import VueRouter from ‘vue-router’;
//导入组件
import Main from “…/views/Main”;
import Login from “…/views/Login”;
import UserList from “…/views/user/List”; //导入子模块
import UserProfile from “…/views/user/Profile”; //导入子模块
//使用
Vue.use(VueRouter);
//导出
export default new VueRouter({
最后前端到底应该怎么学才好?
如果你打算靠自己摸索自学,那么你首先要了解学习前端的基本大纲,这是你将要学习的主要内容,理解以及掌握好这些内容,便可以找到一份初级的前端开发工作。你还需要有一套完整的前端学习教程,作为初学者最好的方式就是看视频教程学习,初学者容易理解接受。
不要选择买书学习,这样的方式没有几个人能学会,基本都是看不下去书,也看不懂书。如果喜欢看书的学弟,可以买一些经典的书籍作为辅助即可,主要还是以看教程为主。每天抽出固定几个小时学习,做好长期学习的准备。学习编程并不是每天光看视频,你学习编程最重要的目的是为了编写软件产品,提供给大众使用,所以用手写出代码实现功能才是我们要做的事情。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
e>
4、index.js
//导入vue
import Vue from ‘vue’;
import VueRouter from ‘vue-router’;
//导入组件
import Main from “…/views/Main”;
import Login from “…/views/Login”;
import UserList from “…/views/user/List”; //导入子模块
import UserProfile from “…/views/user/Profile”; //导入子模块
//使用
Vue.use(VueRouter);
//导出
export default new VueRouter({
最后前端到底应该怎么学才好?
如果你打算靠自己摸索自学,那么你首先要了解学习前端的基本大纲,这是你将要学习的主要内容,理解以及掌握好这些内容,便可以找到一份初级的前端开发工作。你还需要有一套完整的前端学习教程,作为初学者最好的方式就是看视频教程学习,初学者容易理解接受。
不要选择买书学习,这样的方式没有几个人能学会,基本都是看不下去书,也看不懂书。如果喜欢看书的学弟,可以买一些经典的书籍作为辅助即可,主要还是以看教程为主。每天抽出固定几个小时学习,做好长期学习的准备。学习编程并不是每天光看视频,你学习编程最重要的目的是为了编写软件产品,提供给大众使用,所以用手写出代码实现功能才是我们要做的事情。