Vue面试题解析

Vue-cli面试题

[转载自:https://segmentfault.com/a/1190000016351284]
1 构建的 vue-cli 工程都到了哪些技术,它们的作用分别是什么?

1、vue.js:vue-cli工程的核心,主要特点是数据驱动组件化
2、vue-router:vue官方推荐使用的路由框架
3、vuex:专为vue.js应用项目开发的状态管理器,主要用于维护vue组件间公用的一些变量和方法。
4、axios(fetch、ajax):用于发起GET、POST 等HTTP请求,基于Promise设计
5、vux等:为Vue设计的移动UI组件库。
6、创建一个emit.js文件,用于Vue事件机制的管理。
7 webpack:模块化加载和vue-cli工程打包器

2 vue-cli 工程常用的 npm 命令有哪些?

下载node_modules资源包的命令 : npm install

启动 vue-cli开发环境:npm run dev

vue-cli 生成生产环境部署资源的npm命令:npm run bulid

查看生成环境环境部署资源的大小:npm run build --report

3 请说出vue-cli工程中每个文件夹和文件的用处
在这里插入图片描述

vue-cli目录解析:

1、build文件夹专用于存放webpack相关配置和脚本。开发中偶尔使用到此文件下的webpack.base.config.js用于配置less和sass等css预编译库,或者配置一下UI库。

2、 config文件夹主要用来存放配置文件,用于区分开发环境、线上环境的不同。常用到此文件夹下的config.js配置开发环境的端口号、是否开启热加载或者设置生产环境的静态资源的相对路径、是否开启gzip压缩、npm run build 命令打包生成静态资源的名称和路径等。

3、dist文件夹:默认npm run build命令打包生成的静态资源文件用于生产部署

4、node_modules:存放npm命令下载的开发环境和生产环境的依赖包

5、src存放项目源码及需要引用的资源文件。

src下assets:存放项目中需要用到的资源文件,css、js、images

src下的components:存放Vue开发中的一些公共组件,如header.vue 、footer.vue。

src下emit:自己配置的Vue集中式事件管理机制。

src下router:vue-router Vue路由的配置文件

src下的service:自己配置的Vue请求后台接口的方法

src下page:存放Vue页面组件的文件夹

src下util:存放Vue开发汇总一些公共的js方法。

src下vuex:存放vuex,专门为Vue开发的状态管理器

src下app.vue:使用渲染整个工程的.vue组件

src下的main.js:vue-cli工程的入口文件。

index.html:设置项目的一些meta头信息和提供

用于挂载vue节点。
package.json:用于mode-modules资源部署和启动、打包项目的npm命令管理

3、config文件夹 下 index.js 的对于工程 开发环境 和 生产环境 的配置

在这里插入图片描述
build对象下关于生产环境的配置:

index:配置打包后入口.html文件的名称以及文件夹的名称
assetsRoot:配置打包后生成的文件名称和路径
assetsPublicPath:配置打包后生成的.html引用静态资源的路径,一般要设置成"./"
productionGzip:是否开发gzio压缩,以提升加载速度

在这里插入图片描述
dev 对象下 对于 开发环境 的配置:

port:设置端口号
autoOpenBrowser:启动工程时,自动打开浏览器
ProxyTable:Vue设置的代理,用来解决跨域问题

4、请你详细介绍一些 package.json 里面的配置

在这里插入图片描述
在这里插入图片描述

常用对象解析:

scripts:npm run xxx 命令调用node执行的 .js 文件
dependencies:生产环境依赖包的名称和版本号,即这些 依赖包 都会打包进 生产环境的JS文件里面
devDependencies:开发环境依赖包的名称和版本号,即这些 依赖包 只用于 代码开发 的时候,不会打包进 生产环境js文件 里面。

scripts:npm run xxx(build、dev、start) 命令调用node实际执行的.js文件
dependencies:生产环境依赖包的名称和版本号,即这些依赖包都会打包进生产环境的JS文件里面。
devDependencies:开发环境依赖包的名称和版本号,即依赖包只用于代码开发的时候,不会打包进生产环境的js文件里

你可能感兴趣的:(Vue面试题解析)