8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

当 angular 在同一个网络上的 ubuntu 服务器上运行时,从 Windows 在 Firefox 上调试 angular

CraftyB 2月前

49 0

我在本地网络上有一个 ubuntu 家庭服务器,我正在使用它来开发这个 ionic angular 应用程序。我从我的主 windows 11 计算机 ssh 进入这个 ubuntu 服务器,并使用 NeoVim 对其进行编辑。

我在本地网络上有一个 ubuntu 家庭服务器,我正在使用它来开发这个 ionic angular 应用程序。我从我的主 windows 11 计算机 ssh 进入这个 ubuntu 服务器并使用 NeoVim 对其进行编辑。

直到我使用以下命令为应用程序提供服务:

ionic serve --host=0.0.0.0   --ssl

这样,我就可以在 ubuntu 服务器上查看前端。我的问题是,我现在正尝试使用 NeoVim 的 DAP 插件调试代码,如果它在我的 Windows 11 计算机上运行,​​而不是在服务器本身上运行,我不确定是否可以将 DAP 连接到 Firefox 调试器服务器。

任何帮助都将不胜感激:)

以下是我迄今为止尝试过的:

磷酸二铵。

return {
  {
    'mfussenegger/nvim-dap',
    dependencies = {
      'leoluz/nvim-dap-go',
      'rcarriga/nvim-dap-ui',
      'theHamsta/nvim-dap-virtual-text',
      'nvim-neotest/nvim-nio',
      'williamboman/mason.nvim',
    },
    config = function()
      local dap = require 'dap'
      local ui = require 'dapui'

      require('dapui').setup()
      require('dap-go').setup()
      require('nvim-dap-virtual-text').setup {}

      -- Configuration for .NET Core (ASP.NET Core) using net8.0
      dap.adapters.coreclr = {
        type = 'executable',
        command = '/usr/local/bin/netcoredbg/netcoredbg', -- Update with the correct path to netcoredbg
        args = { '--interpreter=vscode' },
      }

      dap.configurations.cs = {
        {
          type = 'coreclr',
          name = 'Launch ASP.NET Core',
          request = 'launch',
          preLaunchTask = function()
            -- Run the project before launching the debugger
            local build_cmd = 'dotnet publish --configuration Debug --runtime linux-x64 --self-contained'
            print('Running: ' .. build_cmd)
            vim.fn.system(build_cmd)
          end,
          program = function()
            local cwd = vim.fn.getcwd()
            local dll = vim.fn.glob(cwd .. '/bin/Debug/net8.0/linux-x64/MelodyFitnessApi.dll', 0, 1)
            if #dll == 0 then
              print 'No DLL found in bin/Debug/net8.0/linux-x64'
              return ''
            end
            print('Using program: ' .. dll[1])
            return dll[1]
          end,
          cwd = '${workspaceFolder}',
          stopAtEntry = false,
          console = 'integratedTerminal',
        },
        {
          type = 'coreclr',
          name = 'Attach ASP.NET Core',
          request = 'attach',
          processId = require('dap.utils').pick_process,
          cwd = '${workspaceFolder}',
        },
      }

      -- Configuration for Ionic Angular (JavaScript/TypeScript) using Firefox
      dap.adapters.firefox = {
        type = 'executable',
        command = 'node',
        args = { os.getenv 'HOME' .. '/.vscode/extensions/vscode-firefox-debug/dist/adapter.bundle.js' },
      }

      dap.configurations.javascript = {
        {
          type = 'firefox',
          request = 'attach',
          name = 'Launch Firefox against remote localhost',
          host = '192.168.1.9', -- IP address of main computer, the one running fire fox debug instance.
          port = 6000,
          url = 'https://192.168.1.11:8100', -- Ubuntu server's local IP address
          webRoot = '${workspaceFolder}',
          sourceMaps = true,
        },
      }

      dap.configurations.typescript = dap.configurations.javascript

      vim.keymap.set('n', '<space>tb', dap.toggle_breakpoint)
      vim.keymap.set('n', '<space>gb', dap.run_to_cursor)

      vim.keymap.set('n', '<space>?', function()
        require('dapui').eval(nil, { enter = true })
      end)

      vim.keymap.set('n', '<F1>', dap.continue)
      vim.keymap.set('n', '<F2>', dap.step_into)
      vim.keymap.set('n', '<F3>', dap.step_over)
      vim.keymap.set('n', '<F4>', dap.step_out)
      vim.keymap.set('n', '<F5>', dap.step_back)
      vim.keymap.set('n', '<F12>', dap.restart)

      -- Key mapping to toggle the DAP UI
      vim.keymap.set('n', '<Leader>dui', function()
        ui.toggle()
      end)

      dap.listeners.before.attach.dapui_config = function()
        ui.open()
      end
      dap.listeners.before.launch.dapui_config = function()
        ui.open()
      end
      dap.listeners.before.event_terminated.dapui_config = function()
        ui.close()
      end
      dap.listeners.before.event_exited.dapui_config = function()
        ui.close()
      end
    end,
  },
}

然后在我的 Windows 计算机上通过 powershell 运行此命令来启动 Firefox 调试服务器

& "C:\Program Files\Mozilla Firefox\firefox.exe" --args --start-debugger-server 6000

我还尝试在 Windows 11 计算机上为端口 6000 添加传入 TCP 规则,并允许 Firefox 通过此端口。

帖子版权声明 1、本帖标题:当 angular 在同一个网络上的 ubuntu 服务器上运行时,从 Windows 在 Firefox 上调试 angular
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由CraftyB在本站《ubuntu》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 我需要在 Apim 中验证 POST 操作的 JSON 架构,但我的架构因请求类型而异。此外,我处理的 JSON 负载相当广泛(大约 1000 行)...

    我需要在 Apim 中验证 POST 操作的 JSON 架构,但我的架构因请求类型而异。此外,我处理的 JSON 负载相当广泛(大约 1000 行)。在这种情况下,有效处理架构验证的最佳实践是什么?\'

    我确实尝试定义模式,但它变得太长太复杂,所以我需要专家的建议,我该怎么做?

  • Rmy5 2月前 0 只看Ta
    引用 3
    • APIM 的 Schemas 中添加您的 JSON 模式

    enter image description here

    • 我已使用以下模式进行测试目的。
    {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "type": "object",
      "properties": {
        "Name": {
          "type": "string"
        },
        "City": {
          "type": "string"
        }
      },
      "required": [
        "Name",
        "City"
      ]
    }
    
    • 然后,我添加了给定的策略。
    <policies>
        <inbound>
            <base />
            <validate-content unspecified-content-type-action="prevent" max-size="128" size-exceeded-action="ignore" errors-variable-name="requestBodyValidation">
                <content type="application/json" validate-as="json" action="prevent" schema-id="{Your Schema Id}" />
            </validate-content>
        </inbound>
    </policies>
    
    • 我尝试在请求正文中传递不正确的 JSON 模式并得到预期的响应。

    enter image description here

    enter image description here

返回
作者最近主题: