如何在 Nuxt 中使用 webpack 开发代理

2024-01-12

Using Nuxt https://nuxtjs.org为了开发一个通用的 JS 应用程序,我正在尝试配置webpack 开发代理 https://webpack.js.org/configuration/dev-server/#devserver-proxy以便,仅在开发中,要求/api被代理到http://127.0.0.1:500/api他们将在其中访问 Python REST API。按照 Nuxt 文档,我已经扩展了 webpack 配置 https://nuxtjs.org/faq/extend-webpack/ in nuxt.config.js像这样:

build: {
  extend (config, { isDev }) {
    // Proxy /api to Python only in dev
    if (isDev) {
      const devServer = {
        proxy: {
          '/api': 'http://127.0.0.1:5000'
        }
      }
      config.devServer = devServer;
    }
  }
}

如果我记录配置,我会看到正在应用更改:

...
devServer: { proxy: { '/api': 'http://127.0.0.1:5000' } } }
...

然而,当我访问http://127.0.0.1:8080/api/things http://127.0.0.1:8080/api/things,我的 Nuxt 应用程序返回(它在开发中的端口 8080 上运行),表明 webpack 开发代理没有捕获/api路径并执行代理。只是为了确认代理目的地正在工作,如果我访问http://127.0.0.1:5000/api/things http://127.0.0.1:5000/api/things,我得到了预期的 API 响应。为什么当我扩展 Nuxt webpack 配置以启用 webpack 开发代理时,代理不起作用?

然而,我已经取得了成功@nuxt/代理 https://github.com/nuxt-community/proxy-module模块,但关键的是,我找不到一种方法让它只影响开发而不影响生产。那部分nuxt.config.js看起来像这样:

axios: {
  proxy: true
},
proxy: {
  '/api': 'http://127.0.0.1:5000'
},

我很高兴使用 @nuxt/proxy 模块而不是(在其之上?)webpack 开发代理,如果它只能在开发中工作的话。


我需要这样做,并且能够使用 nuxt.config.js 中的以下内容解决这个问题

export default {
  // other config ...

  ...process.env.NODE_ENV === 'development' && {
    proxy: {
      '/api': 'http://localhost:8000',
    }
  },
}

如果我们正在进行开发构建,此代码只会在 nuxt 配置中添加代理密钥。

参考用于插入条件对象字段的语法(这是我以前不知道的):https://stackoverflow.com/a/51200448 https://stackoverflow.com/a/51200448

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Nuxt 中使用 webpack 开发代理 的相关文章

  • webpack 在 jest 单元测试中需要非 js 内容

    最近我将我的一个项目转换为 webpack 和 babel 它由淘汰组件制成 我在运行单元测试时遇到问题 如果我有一个文件tests文件夹之类的 import component from custom options test adds
  • localhost 拒绝在 chrome mac 中连接

    我正在使用 webpack dev server 使用此命令运行服务器 npm run dev 当我使用npm start 它工作得很好 但不想这样做 因为它是为了生产 到目前为止我的服务器运行良好http 本地主机 3000 http l
  • 如何让 webpack 和 iis express 协同工作?

    I have Angular 2 和 Webpack 2 入门 https github com qdouble angular webpack2 starter它通过 webpack dev server 在节点上运行 我如何使用 web
  • Nuxt JS 插件是否可以只运行一次?

    我有几个 VueX 操作 仅在服务器上运行 并从nuxtServerInit 它们向外部服务发出 HTTP 请求 这会减慢 TTFB 的速度 我想实现一个缓存插件 可以从 Redis 存储和检索值 目的是避免在每个请求的操作中发出 HTTP
  • 使用 Webpack 代理创建 React 应用程序中的 WebSockets

    我使用版本 3 1 2 2019 年 9 月 19 日 中的 Create React App 创建了我的 React 应用程序 我试图为 Web Socket 请求配置代理 但似乎当我使用代理时 未建立连接 我用过THIS https g
  • WebpackError:ReferenceError:Gatsby 上未定义窗口

    我已经在互联网上进行了大量搜索 但无法解决这个问题 我正在使用 Gasby 开发静态页面 但遇到此错误 WebpackError ReferenceError window is not defined 我的线索是 这与我正在使用的引导 模
  • webpack 术语中的“webpack 模块”到底是什么?

    我是 webpack 的新手 目前正在尝试理解基本概念 查看官方文档 页面上Concepts https webpack js org concepts 它使用模块术语并提供了阅读页面上有关模块的更多信息的链接Modules https w
  • Asyncdata 与 Fetch 之间的区别

    获取数据和异步数据之间的确切区别是什么 官方文档是这么说的 异步数据 您可能想要获取数据并在服务器端呈现它 Nuxt js 添加 asyncData 方法 让您可以在之前处理异步操作 设置元件数据 异步数据每次在加载组件之前调用 仅适用于
  • 在 Angular 中包含共享资产

    我创建了一个有角度的工作区 其中托管多个有角度的项目和库 在工作区中 我有一个共享库 其中包含所有资产 图像和徽标 assets projects xxx workspace src favicon ico projects xxx wor
  • 使用 webpack output.target 选项创建 ES6 模块“等效”

    首先 抱歉 我很难总结标题中的问题 所以请随意修改 问题 假设我有两个公开默认函数的 ES6 文件 file 1 js export default function do the thing file 2 js export defaul
  • Nuxt.js 多个资源的根路由和根级 slugs

    我正在使用 Nuxt 构建一个电子商务前端 我希望为尽可能多的资源提供根级 slugs 最重要的是目录路径和产品 URL 一个明显的方法是使用 Nuxt 文件结构进行路由创建 com category men Tshirt com cate
  • 在 WebStorm 11 中调试 WebPack

    我正在尝试使用源映射在 WebStorm 中调试与 WebPack 捆绑在一起的 javascript 应用程序 我当前的 webpack config js 如下所示 var path require path module export
  • 找到 Webpack 配置文件但未配置条目

    我正在尝试为我的个人项目组织一个 webpack 2 模板webpack dev server并使用 npm 命令运行它 但我收到此错误 Configuration file found but no entry configured 这很
  • Nuxt.js 使用 https 调用服务器端 API 的问题

    当我使用 HTTP 时 我遇到 nuxt 服务器端 API 调用问题S 在客户端 一切都很好 当我通过链接在客户端切换页面时 API 可以工作 但是当我按下 Ctrl f5 并且数据将在服务器端预取时 实际上没有 API 调用 也没有提供数
  • 哪些 babel 设置适合导出库?

    我是 Babel Webpack 的新手 对 babelrc 配置有一些困惑 第一个配置 presets babel env modules false useBuiltIns usage targets gt 0 25 not dead
  • webpack TS2304 找不到名称“Map”、“Set”、“Promise”

    我有以下 webpack config js var path require path var webpack require webpack module exports entry ng2 auto complete path joi
  • Webpack 4:如何使用 LESS 获取 CSS 源映射?

    多年来我一直在尝试让 CSS 源映射在 webpack 中工作 但没有成功 我不确定链条中哪里出了问题 我希望有人能指出我正确的方向 这是发生的事情 行号是错误的 实际上文件名也是错误的 main less只是包含一堆 import也就是说
  • 如何处理 Nuxt 中导致页面渲染崩溃的 apollo 客户端错误?

    我目前正在维护一个生产 Nuxt js Vue 应用程序 该应用程序集成了 GraphQL Apollo 客户端 该客户端遇到页面渲染错误 为了增加获得回复的机会 我构建了一个简单的代码示例 仅展示我们遇到的问题 谢谢大家 源代码 Clie
  • Eslint errorring 导入没有扩展名的 jsx

    我正在尝试在 es6 中导入 jsx 文件而不需要 jsx 扩展名 import LoginErrorDialog from LoginErrorDialogView Not import LoginErrorDialog from Log
  • 如何提供 Angular 2 dist 文件夹index.html

    我正在使用这个 Angular 4 种子应用程序 https github com 2sic app tutorial angular4 hello dnn https github com 2sic app tutorial angula

随机推荐