回答: 是的,Nuxt.js 通过服务端渲染(SSR)生成静态 HTML 页面,提升搜索引擎爬虫的抓取效果,具体优化点包括:
generate
配置,将动态路由预生成静态文件(如商品详情页)。
head()
方法动态设置页面标题、关键词等 SEO 关键信息。
回答: 同构(Isomorphic)指代码在服务端和客户端均可运行,Nuxt 的同构过程如下:
asyncData
或 fetch
在服务端预取。回答: 是的,其他 SEO 优化方案:
prerender-spa-plugin
对指定路由生成静态 HTML。回答: 复杂表单联动常见场景:
实现方案:
v-if
、watch
监听字段变化,结合 async-validator
动态校验。
useState
管理状态,利用 useEffect
处理依赖关系。
回答: 是的,React 和 Vue3 均有实际使用经验:
<script setup>
语法、Teleport、响应式原理(Proxy)。
回答: Vue3 主要升级点:
Object.defineProperty
,支持深层对象监听。回答:
示例:
// allSettled 结果格式:
[{ status: 'fulfilled', value: 1 }, { status: 'rejected', reason: 'Error' }]
回答: ES5 实现继承的常见方式:
function Parent() {}
function Child() {}
Child.prototype = new Parent(); // 问题:父类属性被所有实例共享
function Child() { Parent.call(this); } // 问题:无法继承父类原型方法
function Child() { Parent.call(this); }
Child.prototype = new Parent();
Child.prototype.constructor = Child; // 解决上述两种问题
回答: 跨域是浏览器同源策略(协议、域名、端口一致)的限制,解决方式:
Access-Control-Allow-Origin: *
)。<script>
标签跨域请求(仅支持 GET)。回答:
回答: CORS 跨域流程:
text/plain
、application/x-www-form-urlencoded
、multipart/form-data
): Access-Control-Allow-Origin
是否匹配当前域。Access-Control-Allow-Methods
和 Access-Control-Allow-Headers
。回答: 闭包(Closure)是函数与其词法环境的组合,特性:
function createCounter() {
let count = 0;
return () => count++; // 返回的函数闭包引用了 count
}
回答: 常见内存泄漏场景:
const timer = setInterval(() => {}, 1000);
// 忘记 clearInterval(timer)
var/let/const
声明变量,导致变量挂载到 window
。 const element = document.getElementById('id');
// 即使删除 DOM,element 仍保留引用
回答: 常用 Webpack 配置:
entry
、output
。
style-loader
、css-loader
)、图片(file-loader
)。
HtmlWebpackPlugin
生成 HTML,CleanWebpackPlugin
清理构建目录。
TerserPlugin
)、缓存(contenthash
)。
回答:
module.rules
中配置,链式调用(从右到左)。plugins
数组中配置,通过钩子介入构建生命周期。回答:
回答: 是的,Webpack5 主要改进:
cache: { type: 'filesystem' }
显著提升构建速度。file-loader
)。回答: 模板字符串(Template Literals)特性:
\n
或拼接符号。${}
插入变量或表达式。const name = 'Alice';
console.log(`Hello, ${name}!`); // Hello, Alice!
回答: Grid 布局是二维布局系统,核心概念:
display: grid
、grid-template-columns
定义列宽。gap
设置行列间距。grid-column
、grid-row
控制项目位置。grid-area
定义项目在网格中的区域。
优势:相比 Flexbox 更适合复杂布局(如棋盘、仪表盘)。回答: 常见响应式方案:
回答: 常用 CSS 预处理器:
回答:
async/await
底层基于 Generator 和 Promise 实现:
async
函数被转换为 Generator 函数,通过 yield
暂停执行。
V8 使用 Promise
自动处理异步操作,通过 next()
恢复执行。
await
时,暂停并等待 Promise 完成。
回答: Generator 是 ES6 的异步编程解决方案,特性:
function*
声明,内部使用 yield
暂停执行。next()
恢复执行,返回 { value, done }
。
示例:function* gen() {
yield 1;
yield 2;
}
const g = gen();
g.next(); // { value: 1, done: false }
回答:
Generator 适用场景:
yield
和 Promise 实现类似 async/await
的效果。
回答: HTTP/2 核心改进:
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有