Как использовать `request.js` от Octokit в браузере?
Я новичок в 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 ответ
Решение
После разговора с авторами библиотеки выяснилось, что проблема связана с плохим выпуском. Исправлено в версии 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>
Живая демонстрация здесь.