Web前端最全webpack 配置 changeOrigin 无效的说明,【推荐】

算法刷题

大厂面试还是很注重算法题的,尤其是字节跳动,算法是问的比较多的,关于算法,推荐《LeetCode》和《算法的乐趣》,这两本我也有电子版,字节跳动、阿里、美团等大厂面试题(含答案+解析)、学习笔记、Xmind思维导图均可以分享给大家学习。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

写在最后

最后,对所以做Java的朋友提几点建议,也是我的个人心得:

  1. 疯狂编程

  2. 学习效果可视化

  3. 写博客

  4. 阅读优秀代码

  5. 心态调整

以下这段关于 changeOrigin 配置属性说明的话来自官网:DevServer | webpack

The origin of the host header is kept when proxying by default, you can set changeOrigin to true to override this behaviour. It is useful in some cases like using name-based virtual hosted sites.

上面这句话是说:当进行代理时,Host 头部的源默认会保持原状;你可以设置 changeOrigin 为 true 来覆盖这种行为。

注意:changeOrigin 属性名字具有误导性,它并不是表示修改 Origin 头部,而是表示修改 Host 头部的 Origin(原始值)。从上面官网的那句话中 the origin of the host 也可以理解出来。

Host 头部的作用是标识你请求哪一个主机(具体到主机名和端口),主机名可以供一些多站点服务器(Apache、Nginx)进行请求派发。请求关于 Host 头部的作用具体可以参考 Host - HTTP | MDN 或者更多详细资料。

假设,如果你的前端服务器是 http://localhost:3000,后端是 http://localhost:8082。

那么后端通过 request.getHeader(“Host”) 获取依旧是 http://localhost:3000

如果你设置了 changeOrigin: true,那么后端通过 request.getHeader(“Host”) 获取才是 http://localhost:8082。代理服务器此时会根据请求的 target 地址修改 Host。

changeOrigin 的配置主要体现在 proxy 代理设置上,一般会这样设置:

module.exports = {
  //...
  devServer: {
    proxy: {
      '/api': {
#### 后话

-------------------------------------------------------------

**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)**

对于面试,说几句个人观点。



面试,说到底是一种考试。正如我们一直批判应试教育脱离教育的本质,为了面试学习技术也脱离了技术的初心。但考试对于人才选拔的有效性是毋庸置疑的,几千年来一直如此。除非你有实力向公司证明你足够优秀,否则,还是得乖乖准备面试。这也并不妨碍你在通过面试之后按自己的方式学习。
其实在面试准备阶段,个人的收获是很大的,我也认为这是一种不错的学习方式。首先,面试问题大部分基础而且深入,这些是平时工作的基础。就好像我们之前一直不明白学习语文的意义,但它的意义就在每天的谈话间。

所谓面试造火箭,工作拧螺丝。面试往往有更高的要求,也迫使我们更专心更深入地去学习一些知识,也何尝不是一种好事。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Webpack是一个模块打包器,可以将多个模块打包成一个静态资源文件。前端使用webpack可以实现代码的模块化、压缩、合并、懒加载等功能,提高网站的性能和用户体验。 以下是前端配置webpack打包的步骤: 1. 安装webpackwebpack-cli 在项目根目录下执行以下命令: ``` npm install webpack webpack-cli --save-dev ``` 2. 创建webpack配置文件 在项目根目录下创建webpack.config.js文件,并配置入口文件和输出文件: ```javascript const path = require('path'); module.exports = { entry: './src/index.js', output: { filename: 'bundle.js', path: path.resolve(__dirname, 'dist') } }; ``` 3. 配置loader 使用loader可以对不同类型的文件进行处理,如将ES6代码转换成ES5代码、将CSS文件打包进JS文件中等。在webpack.config.js文件中添加以下配置: ```javascript module.exports = { // ... module: { rules: [ { test: /\.js$/, exclude: /node_modules/, use: { loader: 'babel-loader', options: { presets: ['@babel/preset-env'] } } }, { test: /\.css$/, use: ['style-loader', 'css-loader'] } ] } }; ``` 上面的配置中,使用babel-loader对JS文件进行ES6转ES5的处理,使用css-loader和style-loader对CSS文件进行打包。 4. 配置插件 使用插件可以对打包后的文件进行优化、压缩等处理。在webpack.config.js文件中添加以下配置: ```javascript const HtmlWebpackPlugin = require('html-webpack-plugin'); const { CleanWebpackPlugin } = require('clean-webpack-plugin'); module.exports = { // ... plugins: [ new CleanWebpackPlugin(), new HtmlWebpackPlugin({ template: './src/index.html' }) ] }; ``` 上面的配置中,使用CleanWebpackPlugin插件清理dist目录下的旧文件,使用HtmlWebpackPlugin插件生成HTML文件。 5. 运行webpack 在项目根目录下执行以下命令: ``` npx webpack ``` 执行命令后,webpack将会读取webpack.config.js文件并进行打包。 以上就是前端配置webpack打包的步骤。配置完成后,可以通过修改webpack.config.js文件来实现更多的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值