首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【前端面试题】08—31道有关前端工程化面试题(附答案)

前端工程化部分面试题主要考察应试者对工程化理解与运用,如何通过工程化来提高代码质量、编译代码、优化代码如何提高网站性能,保障网站安全,提升用户体验;如何将开发代码按照理想方式发布和上线等。...使用各种 loader对各种资源做处理,并解析成浏览可运行代码。 3、你用Gulp都实现了哪些功能? 之前写一个 Angular项目就是使用Gulp构建。...使用 watch监听src目录中代码变化,并进行实时编译。使用 connect创建一个项目服务,用来做开发调试。 4、说说 WabPack打包流程。 具体流程如下。...(1)实现对不同格式文件处理,比如将Scss转换为CSS,或将 TypeScript转化为Javascript。 (2)可以编译文件,从而使其能够添加到依赖关系中。...EventSource本质仍然是HTTP,仅提供服务端到浏览单向文本传输,不需要心跳链接,链接断开会持续重发链接。 注意:心跳链接是用来检测一个系统是否存活或者网络链路是否通畅一种方式。

2.8K30

它改变了 JavaScript 体系结构——Webpack 5 Module Federation

应用在客户端和服务上动态运行来自另一个包或版本代码。...假设网站每个页面都是独立部署和编译需要这种 micro-frontend 样式体系结构,但是我们不希望在修改路由时重新加载页面。...还希望在它们之间动态共享代码和服务以使其高效,就好像它是一个大型 Webpack 构建并进行了代码拆分一样。 登陆主页应用程序将使 “主页” 页面成为“主机”。...计划用公共共享文件卷或异步 S3 流在整个文件系统中流式传输文件,使服务能够像在浏览中一样请求联合代码,并用 fs 而不是 http 来加载联合代码。...但是,确实设法 fork 并升级了 Next.js 以使其Webpack 5 兼容!这项工作仍在进行中。一些开发模式中间件需要完成。生产模式目前可以工作,一些其他加载仍需要重新测试。 ?

2.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

译文:你应该知道11个微前端框架

有许多方法可以构建微前端,从组件智能构建时集成,到使用自定义路由运行时集成。在这篇文章中,收集了许多杰出工具,来帮助我们构建微前端。欢迎您在评论区发表建议提供或反馈!...该模块将建立唯一JavaScript条目文件,能够通过设置webpack配置,使其他应用程序可以下载该文件。 它还通过启用依赖关系共享,来解决代码依赖关系和增加包大小问题。...5 Piral Piral目标是让你轻松通过微前端建立一个门户应用,它能够确保你能够创建一个模块化应用程序,并且利用微前端体系结构,在运行时使用被称为“pilets”解耦模块进行扩展。...PuzzleJS可以提供功能包括创建一个网关,或者店面(彼此独立),同时也可以通过提供一个组态文件把它们连接起来。它使你可以在编译时将html模板编译为javascript函数。...而且,当片段所需API出现故障时,PuzzleJs也保证其他页面片段仍然可以正常工作。 感谢您阅读,也希望可以对文章保持持续关注,我们下期再见! END

4.7K10

如何构建你一个 Vue.js 组件

然而,我们想要更深入地学习如何构建一个真正在项目中使用实际组件。出于这些原因,我们将使用由 Webpack 提供支持实际设置。...这是因为Webpackvue-loader带有一个加载功能。与实时重新加载或浏览同步相反,每次更改文件时,热重新加载都不会刷新页面。而是监视组件更改,只刷新它们,保持状态不变。...如果您在 index.html 中正确地复制/粘贴 HTML 代码,您将注意到您样式不适用:这是因为它们作用域是组件。 那么预处理呢?...Vue.js 使得从简单 CSS 切换到您最喜欢预处理变得轻而易举。你所需要只是适当 Webpack 加载和块上简单属性。...如果我们希望我们组件实际上是可用,我们需要能够从其实例传递自定义数据。在 Vue.js 中,我们用 props 做到这一点。

2.5K50

【ASP.NET Core 基础知识】--前端开发--集成前端框架

下面将为展示如何使用 .NET CLI 在命令行中创建一个 ASP.NET Core 项目: 打开命令行界面: 打开命令行界面(如 PowerShell、CMD 或者终端),确保已经安装了 .NET...2.2 安装前端框架依赖 安装前端框架依赖通常需要使用包管理,比如npm(Node.js 包管理)或者Yarn。下面将分别展示如何使用这两种包管理安装前端框架依赖。...下面将展示如何在 ASP.NET Core 中创建和使用 RESTful API,并在前端框架中进行调用。...使用 CDN 来加速静态资源加载,减轻服务负载。 编译优化 使用编译优化选项来生成高效机器代码,提高代码执行效率。 避免在运行时进行大量动态代码生成和反射操作,尽量在编译时完成。...可能需要配置文件加载(如 Babel、TypeScript、CSS、图片等),插件(如压缩、代码分割、代码优化等)等。 编译、压缩和打包 运行构建工具来编译、压缩和打包前端资源。

4600

webpack 4.x 初级学习记录

版本有自己方式 webpack 4.x 默认打包编译 为什么上面要写默认打包编译,是因为webpack可以自定义打包编译配置,我们首先说下默认打包编译。...从 webpack 4.0.0 版本开始,可以不用通过引入一个配置文件打包项目。然而,webpack 仍然还是 高度可配置,并且能够很好满足需求。...当然也可以使用多个,但是推荐一个使用一个 了解更多 输出(output) output 属性告诉 webpack 在哪里输出它所创建 bundles,以及如何命名这些文件,默认值为 ....这告诉 webpack 编译(compiler) 如下信息: “嘿,webpack 编译,当你碰到「在 require()/import 语句中被解析为 '.txt' 路径」时,在你对它打包之前...处理 loader : 加载程序 loader 用于对模块代码进行转换。

68730

一小时内搭建一个全栈Web应用框架

本文适合想要学习怎样制作一个简单基于web应用程序,并且具备基本编程技能的人。 尽管你可以在GitHub上找到本文所有的源代码,但是如果你能够从头开始创建这个程序,将会得到最好学习成果。...它可是使其他开发人员了解你项目,比如应用名称、说明、所有者和所在存储库位置。 可以非常容易通过npm进行自动化安装、运行和更新。 安装和配置Webpack Webpack一个模块打包。...,并让它加载一个创建在单独 App.js 文件中 React 类。...如果你想在自己环境中拥有很大灵活性和能够自定义配置特性,Pyramid是一个不错选择。...恭喜,现在你已经有了一个基本全栈应用 如果你想要学习如何与服务进行通信,以及怎样使自己程序更加美观,请等待本文下半部分:《创建一个全栈Web应用——界面美化与功能实现》

91840

Webpack学习笔记

Webpack一个前端资源加载/打包工具。它将根据模块依赖关系进行静态分析,然后将这些模块按照指定规则生成对应静态资源。...创建一个工作目录,并进入这个目录创建一个项目,在终端输入以下命令,会自动生成一个package.json文件,这是一个标准npm说明文件,里面包含了一些信息,包含了项目的依赖模块,自定义脚本任务等。...模块 public文件夹用来存放准备给浏览读取数据(包括使用webpack生成打包后js文件以及一个index.html文件) 创建几个html和js文件做一个简单例子 在public下创建...通过简单配置后,Webpack在打包时可以为我们生成source maps,这为我们提供了一种对应编译文件和源文件方法,使得编译代码可读性更高,也更容易调试。...这个本地服务基于node.js构建,可以实现监测你代码修改,并自动刷新修改后结果,不过它是一个单独组件,在webpack中进行配置之前需要单独安装它作为项目依赖。

1.3K20

渐进式 Unbundled 开发工具探索之路

简短摘要:得益于现代浏览内置了模块处理系统(ESM), 业界新兴开发工具 Snowpack、WMR、Vite 等直接将模块解析加载过程直接交给浏览, Dev Server 能够秒级启动。...而且后续对需要编译入口通过 babel-loader 或者 ts-loader 重新编译打包时,仍然会有慢问题存在。...速度上面,一些项目确实能够在 6s 左右 dev 完成,但是在一些比较大内部 monorepo 中,仍然是需要几十秒时间。...在 Webpack 生态基础上将第三方依赖以 ESM 形式直接加载看起来也不太能满足我们场景,那么如何更好地提升 dev server 启动速度呢?...基础语法转换完成后,接下来就是 Bare Import 处理问题,我们业务代码中直接通过包名导入依赖方式经过打包工具处理能够正常运行, 如下: import React from 'react'

1.2K30

更骚create-react-app开发环境配置craco

背景 使用 CRA 脚手架创建项目,如果想要修改编译配置,通常可能会选择 npm run eject 弹出配置后魔改。...配置步骤 首先,使用 create-react-app 创建一个项目,这里我们命名为 my-project npx create-react-app my-project 进入项目目录,安装基本依赖 yarn...进行configure覆盖、webpackConfig信息大概有这么多: [webpack (1).gif] 热更新Hot-loader扩展 启动热更新如何避免频繁刷新 常用热更新方案 react-hot-loader...总结 确实能够在不 eject 弹出配置情况下,能够自定义所有的 cra 构建配置,之前进行了详细说明,有这方面的需求可以去看看(传送门)。...任意配置 * - configure 能够重写 webpack 相关所有配置,但是,仍然推荐你优先阅读 craco 提供快捷配置,把解决不了配置放到 configure 里解决;

7.8K54

【译】使用 Webpack 和 Poi 构建更好 JavaScript 应用

这使得你可以在源码中使用 require() 来引用本地文件并且决定在最终 JavaScript 包中如何处理这些本地文件代码。 Poi 是一个零配置基于 Webpack 打包。...使用 Poi 启动一个简单 JavaScript 文件 使用 Poi 部署一个 JavaScript 单文件非常简单。Poi 能够启动一个开发服务并且能够在文件发生变化时自动重载页面。...如果你用浏览开发工具检查页面,可以看到 head 标签也经过了定制化,同时 webpack 仍然将所有脚本注入了页面。...在 Poi 中编译样式 在使用 Poi 构建 React 应用中引入 CSS 样式十分简单。在项目目录下创建一个 .css 文件然后在 .js 文件中编写引入声明即可。...我们可以通过这个例子来看看如何手动添加 Webpack loader。 在项目目录下创建名为 page.md 新文件并在该文件中随意书写 markdown 格式内容。

1.3K40

webpack4 新特性

参考 create-react-app 使用 npx 创建 react-demo,创建之后 npm run eject 就可以看到它详细 webpack 配置了。...(), // 作用域提升(scope hoisting),提升代码在浏览执行速度 - new webpack.NoEmitOnErrorsPlugin(), // 在编译出现错误时,跳过输出阶段...(1)runtime 在模块交互时,连接模块所需加载和解析逻辑。包括浏览加载模块连接,以及懒加载模块执行逻辑。...可以理解为在应用程序运行时,编译通过 manifest 中数据来查找相应模块,管理模块加载和执行。...Compilation 对象包含了当前模块资源、编译生成资源、变化文件等。当 webpack 以开发模式运行时,每当检测到一个文件变化,一次新 Compilation 将被创建

1.1K20

使用 React.Suspense 替换 react-loadable

webpack(或者其他解决方案)在这里扮演了一个很重要角色,他可以在创建这些bundle时候处理这些复杂逻辑,并且在需要时候再去下载他们。...我们定义一个React.Suspense组件,其中包含一组fallback JSX,以便在我们等待异步加载时进行渲染。 通常,这将是一个微调或其他等待指示。...就目前而言,我们需要自己在 fallback 得组件中自行处理这些逻辑,例如在 componentDidMount 中设置一个定时使其直到将来某个时间才呈现。...Step 4:加载出错处理 该如何处理如果出现chunk加载失败情况呢?...总结 总的来说,不敢说这是一个必须替换功能,但是考虑到众多因素,他们两个功能基本是相同,而且代码修改也相对比较简单,并不需要做很大改动,所以建议使用这个新特性来做按需加载

4.2K140

如何规范地发布一个现代化 NPM 包?

esm 被认为是“未来”,但 cjs 仍然在社区和生态系统中占有重要地位。esm 对打包工具来说更容易正确地进行 treeshaking,因此对于库来说,拥有这种格式很重要。...在这种情况下,你应该对代码进行压缩,并创建 sourcemap,并输出到一个单文件。 创建 sourcemap 对源代码进行任何形式编译,都将导致未来某个异常位置,无法与源码对应起来。...面向现代浏览 使用现代新特性,如果有需要,让开发者支持旧浏览这篇 web.dev 上文章提供了一个很好案例,并提供了相关指导原则: 当使用你库时,能够让开发者去支持老版本浏览。... 加载代码用户,将获得进行了额外编译来支持老版本浏览版本。...必要编译 编译 TypeScript、将 JSX 转换为函数调用 如果库源码是需要进行编译形式,如 TypeScript、React 或 Vue 组件等,那么你库需要输出编译代码

2.1K20

Webpack 5 Module Federation: JavaScript 架构变革者

假设一个网站每个页面都是独立部署和编译想要这种微前端风格架构,但不希望页面随着更改路由而重新加载。...中动态加载一个模块,它并不会加载应用主入口以及另一个完整应用,而只会加载几千字节代码。.../src/Button" }, shared: ["react", "react-dom"] }), 浏览最终结果(不同于第一个视频) 请重点关注 network 标签页,来自三个不同服务代码正在被整合...没有代码层面的冗余,而只有内置冗余。 然而手动地增加 vendors 或其他用于共享模块并不利于拓展,你可以自定义一个函数或者相应 Webpack 插件来实现自动化。...让服务能够像在浏览中一样去 require federated code,使用 fs 而不是 http 来加载 federated code。

1.8K30

现代 JavaScript 库打包指南

esm 被认为是“未来”,但 cjs 仍然在社区和生态系统中占有重要地位。esm 对打包工具来说更容易正确地进行 treeshaking,因此对于库来说,拥有这种格式很重要。...在这种情况下,你应该对代码进行压缩,并创建 sourcemap,并输出到一个单文件。 创建 sourcemap 对源代码进行任何形式编译,都将导致未来某个异常位置,无法与源码对应起来。...面向现代浏览 使用现代新特性,如果有需要,让开发者支持旧浏览这篇 web.dev 上文章提供了一个很好案例,并提供了相关指导原则: 当使用你库时,能够让开发者去支持老版本浏览。... 加载代码用户,将获得进行了额外编译来支持老版本浏览版本。...必要编译 编译 TypeScript、将 JSX 转换为函数调用 如果库源码是需要进行编译形式,如 TypeScript、React 或 Vue 组件等,那么你库需要输出编译代码

2.3K20

9102年:手写一个React脚手架 【优化极致版】

加载资源 prefetch按需请求资源 CSS模块化,不怕命名冲突 小图片base64处理 文件后缀省掉jsx js json等 实现React加载,按需加载代码分割 并且支持服务端渲染...webpack v4.0.0 开始,可以不用引入一个配置文件。然而,webpack 仍然还是高度可配置。...出口(output) output 属性告诉 webpack 在哪里输出它所创建 bundles,以及如何命名这些文件,默认值为 ./dist。...loader是文件加载能够加载资源文件,并对这些文件进行一些处理,诸如编译、压缩等,最终一起打包到指定文件中 处理一个文件可以使用多个loader,loader执行顺序是和本身顺序是相反,即最后一个...按需加载,附带代码分割功能 ,每个按需加载组件打包后都会被单独分割成一个文件 import React from 'react' import loadable from

86110

前端工程化_知识点精讲

则作为所创建项目中「运行时依赖包」,提供了封装后项目「启动、编译、测试」等基础工具 自定义配置能力 react-app-rewired:利用config-overrides.js 文件来对 webpack...例如,你可以在 ModuleGraph 建立后,当一个资源asset被生成时,在模块即将被「建立前」(运行加载和解析源代码),添加自定义逻辑。...模块工厂ModuleFactory知道如何「从一个文件路径中创建webpack有用实体」。...一个模块,一旦创建和构建,除了「源代码」,还包含很多有意义信息,如: 使用加载」 它「依赖关系」 它「出口」(如果有的话) 它「哈希值」 ❞ Chunk ❝「一个Chunk封装了一个或多个模块...Webpack Loader vs Plugin loader 是「文件加载」,能够加载资源文件,并对这些文件进行一些处理,诸如编译、压缩等,最终一起打包到指定文件中 plugin 赋予了 webpack

1.7K20
领券