Как использовать `request.js` от Octokit в браузере? - PullRequest
0 голосов
/ 29 января 2020

Я новичок с JavaScript. Несмотря на то, что я непосредственно запускаю примеры в readme , у меня это не работает.
Вот простой случай, когда я пытаюсь получить количество моих (пользовательских) репозиториев.

У меня есть следующий html файл (без API token) -

<head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
    <script type="module">
        import { request } from "https://cdn.pika.dev/@octokit/request";
    </script>
    <script> 
        const octokitRequest = require('@octokit/request');
        myAsyncMethod()
        async function myAsyncMethod () {
            const result = await request("GET /users/:user/repos", {
                headers: {
                    authorization: "token <your token>"
                },
                user: "armsp"
                });
            console.log(`${result.data.length} repos found.`);
        }
    </script>   
</body>

ОШИБКА

require.min.js:1 Uncaught Error: Module name "@octokit/request" has not been loaded yet for context: _. Use require([])
https://requirejs.org/docs/errors.html#notloaded
    at makeError (require.min.js:1)
    at Object.s [as require] (require.min.js:1)
    at requirejs (require.min.js:1)
    at github-api-test.html:11

github-api-test.html:1 Uncaught SyntaxError: The requested module '/universal-user-agent/^4.0.0/es2019/universal-user-agent.js' does not provide an export named 'default'

Затем я попытался скачайте сам файл js и включите его в тег скрипта обычным способом, но я не вижу никакого файла request.js в папке src, все файлы .ts. Я не знаю, как это понять.

Буду признателен за любую помощь.

1 Ответ

1 голос
/ 31 января 2020

После разговора с авторами библиотеки кажется, что это проблема с плохим релизом. Это было исправлено в версии 5.3.1. Следующий пример работает сейчас -

    <script type="module">
      import { request } from "https://cdn.pika.dev/@octokit/request";

      myAsyncMethod();

      async function myAsyncMethod() {
        const result = await request("GET /");
        console.log(result.data);
      }
    </script>

Live Demo здесь .

...