当前位置: 首页 > news >正文

域名绑定网站提示正在建设阿里云手机版网站建设

域名绑定网站提示正在建设,阿里云手机版网站建设,餐饮管理系统哪个好,合肥网站设计 goz该内容主要整理关于 前端工程相关模块的相关面试题,其他内容面试题请移步至 「最新最全的前端面试题集锦」 查看。 前端工程相关模块精选篇 1. webpack的基本配置2. webpack高级配置3. webpack性能优化-构建速度4. webpack性能优化-产出代码(线上运行&am…

该内容主要整理关于 前端工程相关模块的相关面试题,其他内容面试题请移步至 「最新最全的前端面试题集锦」 查看。

前端工程相关模块精选篇

  • 1. webpack的基本配置
  • 2. webpack高级配置
  • 3. webpack性能优化-构建速度
  • 4. webpack性能优化-产出代码(线上运行)
  • 5. webpack原理简述
  • 6. webpack热更新原理
  • 7. webpack Loader
  • 8. webpack Plugin
  • 9. webpack编译优化
  • 10. webpack import()原理
  • 11. webpack有哪几种文件指纹?
  • 12. webpack中如何处理图片的?
  • 13. webpack常用插件总结
  • 14. 抽象语法树AST
  • 15. Babel环境搭建和基本配置
  • 16. 使用babel-loader会有哪些问题?可以怎样优化?
  • 17. Babel 原理
  • 18. Babel是如何编译Class的?
  • 19. Babel Polyfill是什么
  • 20. Babel Runtime
  • 21. Tree Shaking原理是什么
  • 22. Vite了解吗
  • 23. 面试真题


1. webpack的基本配置

基于 webpack4

// webpack.common.js
const path = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const { srcPath, distPath } = require('./paths')module.exports = {entry: path.join(srcPath, 'index'),module: {rules: [{test: /\.js$/,loader: ['babel-loader'],include: srcPath,exclude: /node_modules/},// {//     test: /\.vue$/,//     loader: ['vue-loader'],//     include: srcPath// },// {//     test: /\.css$/,//     // loader 的执行顺序是:从后往前(知识点)//     loader: ['style-loader', 'css-loader']// },{test: /\.css$/,// loader 的执行顺序是:从后往前loader: ['style-loader', 'css-loader', 'postcss-loader'] // 加了 postcss},{test: /\.less$/,// 增加 'less-loader' ,注意顺序loader: ['style-loader', 'css-loader', 'less-loader']}]},plugins: [new HtmlWebpackPlugin({template: path.join(srcPath, 'index.html'),filename: 'index.html'})]
}
// paths.js
/*** @description 常用文件夹路径*/const path = require('path')const srcPath = path.join(__dirname, '..', 'src')
const distPath = path.join(__dirname, '..', 'dist')module.exports = {srcPath,distPath
}
// webpack.dev.jsconst path = require('path')
const webpack = require('webpack')
const webpackCommonConf = require('./webpack.common.js')
const { smart } = require('webpack-merge')
const { srcPath, distPath } = require('./paths')module.exports = smart(webpackCommonConf, {mode: 'development',module: {rules: [// 直接引入图片 url{test: /\.(png|jpg|jpeg|gif)$/,use: 'file-loader'}]},plugins: [new webpack.DefinePlugin({// window.ENV = 'development'ENV: JSON.stringify('development')})],devServer: {port: 8080,progress: true,  // 显示打包的进度条contentBase: distPath,  // 根目录open: true,  // 自动打开浏览器compress: true,  // 启动 gzip 压缩// 设置代理proxy: {// 将本地 /api/xxx 代理到 localhost:3000/api/xxx'/api': 'http://localhost:3000',// 将本地 /api2/xxx 代理到 localhost:3000/xxx'/api2': {target: 'http://localhost:3000',pathRewrite: {'/api2': ''}}}}
})
// webpack.prod.jsconst path = require('path')
const webpack = require('webpack')
const { CleanWebpackPlugin } = require('clean-webpack-plugin')
const webpackCommonConf = require('./webpack.common.js')
const { smart } = require('webpack-merge')
const { srcPath, distPath } = require('./paths')module.exports = smart(webpackCommonConf, {mode: 'production',output: {filename: 'bundle.[contentHash:8].js',  // 打包代码时,加上 hash 戳path: distPath,// publicPath: 'http://cdn.abc.com'  // 修改所有静态文件 url 的前缀(如 cdn 域名),这里暂时用不到},module: {rules: [// 图片 - 考虑 base64 编码的情况{test: /\.(png|jpg|jpeg|gif)$/,use: {loader: 'url-loader',options: {// 小于 5kb 的图片用 base64 格式产出// 否则,依然延用 file-loader 的形式,产出 url 格式limit: 5 * 1024,// 打包到 img 目录下outputPath: '/img1/',// 设置图片的 cdn 地址(也可以统一在外面的 output 中设置,那将作用于所有静态资源)// publicPath: 'http://cdn.abc.com'}}},]},plugins: [new CleanWebpackPlugin(), // 会默认清空 output.path 文件夹new webpack.DefinePlugin({// window.ENV = 'production'ENV: JSON.stringify('production')})]
})

2. webpack高级配置

  • 配置多入口打包
  • 抽离CSS文件
  • 抽离公共代码splitChunks,避免多次打包

3. webpack性能优化-构建速度

  • 优化babel-loader
  • IgnorePlugin
  • noParse
  • happyPack
  • parallelUglifyPlugin
  • 自动刷新
  • 热更新
  • 优化打包速度完整代码
  • DllPlugin 动态链接库

4. webpack性能优化-产出代码(线上运行)

5. webpack原理简述

  • 1.1 核心概念
  • 1.2 工作流程 (加载 - 编译 - 输出)
  • 1.3 模块包装
  • 1.4 webpack的打包原理
  • 1.5 webpack的打包原理详细
  • 1.6 总结

6. webpack热更新原理

7. webpack Loader

8. webpack Plugin

  • 实现一个编译结束退出命令的插件

9. webpack编译优化

  • 优化webpack打包速度

10. webpack import()原理

  • 动态导入原理
  • webpack中如何实现动态导入?

11. webpack有哪几种文件指纹?

12. webpack中如何处理图片的?

13. webpack常用插件总结

14. 抽象语法树AST

15. Babel环境搭建和基本配置

16. 使用babel-loader会有哪些问题?可以怎样优化?

17. Babel 原理

18. Babel是如何编译Class的?

19. Babel Polyfill是什么

20. Babel Runtime

21. Tree Shaking原理是什么

  • 对tree-shaking的了解
  • 原理

22. Vite了解吗

  • Vite 特点
  • Vite 为什么启动非常快
  • 手写实现

23. 面试真题

  • 前端为何打包和构建
  • module chunk bundle区别
  • loader和plugin区别
  • babel和webpack的区别
  • babel-polyfill和babel-runtime的区别
  • webpack如何实现懒加载
  • 为何proxy不能被polyfill
  • webpack优化
  • 优化构建速度
  • 优化产出代码
http://www.yayakq.cn/news/780527/

相关文章:

  • 株洲 网站建设深圳建设合同备案 网站
  • 邯山手机网站建设湘西网站制作
  • 网站答辩ppt怎么做织梦网站地图模板修改
  • 网站建设网如何黑网站
  • 电商数据网站有哪些短网址生成器app
  • 北京网站建设报价找工作的网站有哪些?
  • 丹阳网站建设要多少钱自己怎么做拼单网站
  • 厦门做点击付费网站西安专业的网站优化
  • 响应式网站 哪些厦门h5网站建设
  • 宜宾网站建设北斗网络服务网站 建设原则
  • 广州网站开发建设工商注册系统
  • 盐城微网站建设网站图片自动轮换怎么做的
  • 网站设计的公司价格wordpress模板视频教程
  • 建一个公司网站多少钱?开学第一课汉字做网站
  • 东营网站搭建搜索引擎优化涉及的内容
  • android软件开发工具厦门谷歌seo
  • 绵阳建设网站网络seo优化公司
  • 威海好的网站建设公司品牌建设项目申报
  • 在线企业查询系统个人网站建设网站排名优化
  • 做h5游戏的网站网页设计公司排名前十
  • 文化馆建设网站青岛正规网站建设哪家好
  • 电子商务网站设计物流方案常熟沿江开发区人才网
  • 有哪些做婚品的网站浏览器网站免费进入
  • 网站网站服务器wordpress 太卡
  • 备案网站名称有什么用广州seo网站公司
  • .net个人网站开发视频徐州网站建设优化
  • 现在网站做多宽长春网站网站建设
  • html制作网站网站横幅怎么做
  • 福州医院网站建设公司厦门自己建网站
  • 电商网站的建设与运营餐饮技术支持东莞网站建设