JS模块化与工程化基础专题测试
考察知识点
- 模块打包工具:Webpack核心配置、loader与plugin区别、Tree Shaking原理、Webpack Dev Server配置、Webpack与Rollup对比
- 包管理工具:npm/yarn锁文件、语义化版本号、npx命令、npm scripts、并行安装特性
- 工程化基础:Babel编译流程、preset-env作用、ESLint配置优先级、polyfill机制、Babel插件执行顺序
- 模块化规范:CommonJS与ES Module对比、模块导入导出语法、动态import()、模块互操作
关于Webpack的核心配置,以下说法正确的是?
关于Webpack和Rollup的区别,以下描述正确的是?
关于Webpack的Tree Shaking(摇树优化),以下说法正确的是?
关于Webpack Dev Server的配置和功能,以下说法正确的有?
Webpack 5版本中,可以通过配置cache.type为filesystem来启用文件系统缓存,从而加速构建过程。
Webpack开箱即用,可以直接处理JavaScript、CSS、图片等所有类型的文件,无需额外配置loader。
在Webpack中使用_______________________插件可以可视化分析打包后的文件体积分布,帮助定位优化点。该插件会生成一个交互式的______,显示每个模块的大小和依赖关系。
在package.json中,依赖版本号^2.3.4表示的含义是?
yarn最初发布时的主要优势之一是支持并行安装包,而npm 5之前的版本是串行安装包的,npm 5及以后版本也支持并行安装了。
在package.json中,可以通过_______字段定义项目脚本命令。运行这些脚本时,可以使用npm run <脚本名>命令。其中,______和test是两个特殊的脚本,可以直接通过npm <脚本名>运行,无需加run关键字。
关于npx命令的作用,以下说法正确的是?
关于@babel/preset-env的作用,以下说法正确的是?
关于ESLint的extends和rules配置,以下说法正确的有?
Babel 7版本采用了作用域包(scoped packages)的命名方式,所有官方包都以@babel/为前缀,如@babel/core、@babel/preset-env等。
Babel默认只转换语法,不转换新的API(如Promise、Array.prototype.includes等),需要配合core-js等polyfill库来提供这些API的支持。
在Babel配置中,插件和preset的执行顺序是不同的:______在数组中从前向后执行,而______在数组中从后向前执行。这意味着如果preset数组是['@babel/preset-env', '@babel/preset-react'],则先执行preset-react。
关于CommonJS和ES Module的主要区别,以下说法正确的是?
以下哪种ES Module导入方式可以实现对模块的整体导入?
关于ES Module和CommonJS的互操作,以下说法正确的有?
在ES Module中,导出模块成员有三种主要语法:命名导出使用______关键字导出特定成员;默认导出使用export _______导出单个值;也可以在声明前直接添加export关键字实现声明时导出。
📝 发现内容有误?点击此处直接编辑
长按或扫描二维码,立即体验