插件名:webpack-dev-server
注意该插件对webpack-cli 的新版本不兼容建议使用 "webpack-cli": "^3.3.12",

代理

使用该插件可以使用代理,
本地运行的代码是无法请求服务器方的数据,因为跨域啦,使用该插件就像是本地起了个简易服务器,服务器端的请求数据是不存在跨域的,可以让你本地其的临时服务器去请求数据,再将其数据返回到项目中
示例
完整目录为
image.png
index.js 的代码

  1. fetch('/api/student/findAll?appkey=youkeOO1_1597126810547').then(resp =>resp.json()).then(resp =>{
  2. console.log(resp)
  3. })

webpack.config.js 的配置代码

  1. const { CleanWebpackPlugin } = require("clean-webpack-plugin")
  2. const HtmlWebpackPlugin = require('html-webpack-plugin')
  3. var path = require("path")
  4. module.exports = {
  5. mode: "development",
  6. devtool: "source-map",
  7. output: {
  8. path:path.resolve(__dirname,'dist'),
  9. filename: "[name].[hash:5].js"
  10. },
  11. plugins: [
  12. new CleanWebpackPlugin(),
  13. new HtmlWebpackPlugin({
  14. template: "./public/index.html"
  15. })
  16. ],
  17. devServer: {
  18. port: 8080,
  19. open: true,
  20. proxy: {
  21. //代理规则 当发起的请求中有符合规则webpack-dev-server 会去请求数据
  22. wepack-dev-server 请求的数据路径为 http://open.duyiedu.com/api/student/findAll?appkey=youkeOO1_1597126810547
  23. 然后将其数据返回
  24. "/api": {
  25. target: "http://open.duyiedu.com",
  26. //
  27. changeOrigin: true //更改请求头中的host和origin
  28. // 默认是不会修改请求头的,此处请求的服务器会识别与请求头中的host和origin与主机名是否一致,当不一致阻止访问
  29. }
  30. }
  31. },
  32. stats: {
  33. modules: false,
  34. colors: true
  35. }
  36. }