-
-
Notifications
You must be signed in to change notification settings - Fork 224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add sandpack to ajaxapp #1423
add sandpack to ajaxapp #1423
Conversation
✅ Deploy Preview for js-primer ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
@azu https://deploy-preview-1423--js-primer.netlify.app/use-case/ajaxapp/http/ |
みてみる |
index.jsは読み込まれてるけど、globalなfetchUserInfoはないみたいな状態なんだな。 function fetchUserInfo(userId) {
fetch(`https://api.github.com/users/${encodeURIComponent(userId)}`)
.then(response => {
console.log(response.status);
// エラーレスポンスが返されたことを検知する
if (!response.ok) {
console.error("エラーレスポンス", response);
} else {
return response.json().then(userInfo => {
console.log(userInfo);
});
}
}).catch(error => {
console.error(error);
});
}
globalThis.fetchUserInfo = fetchUserInfo; みたいにすれば、動くのはわかったけど、index.jsを実行する時に何かの関数に包まれててglobalに見えてないのかなー。 sandpack こういう細かい挙動の違いがあって、それを吸収ワークアラウンドを追加する必要があるのかなー
|
externalResourcesを使うことで、ここに指定したリソースは、 https://sandpack.codesandbox.io/docs/getting-started/custom-content#static-external-resources
欠点としては、externalResourcesはHTTPなリソースしか指定できないので、デプロイされるまで、 (todoappでcssをworkaroundしてるやつはexternalResourcesを使った方が綺麗なので、移行しておこ) |
Signed-off-by: azu <azuciao@gmail.com>
5c02068
to
36fb3c5
Compare
sandpackがvanillaのenviromentだとscript srcでのindex.jsを読み込めない問題がある。 これを回避するために、任意のURLをheadにinjectするexternalResourcesを使って回避してる。
これでglobalにjsを入れられるので script type=moduleとかをつかったコードとかなら、enviroment parcelにすればbundleされるのでこのハックをしなくてもいける気がする。 |
Signed-off-by: azu <azuciao@gmail.com>
それぞれの最後にURLとプレビューを追加した。
URLが |
width: calc(100% + 240px); | ||
margin: 0 0 1em -120px; | ||
width: calc(100% + 180px); | ||
margin: 0 0 1em -90px; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ちょっとprev/nextボタンと被り気味だった。
これHonKit/GitBookのデフォルトテーマのボタンが良くない。
"options": { | ||
"showLineNumbers": true, | ||
"editorHeight": 550, | ||
"externalResources": ["https://jsprimer.net/use-case/ajaxapp/entrypoint/src/index.js"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://github.com/honkit/honkit-plugin-sandpack#note で書いてるハック的な。
sandpackのvanilla envでは、script srcとかがちゃんと読めない。
parcel envでは、entry(index.html)をbundleするのでいけるというものらしい。
vanillaのままやるにはexternalResourcesを使うしかない。
とりあえず動くようになったので、マージします |
externalResources だと編集ができないことに気づいた(読んでいるURLはサーバにあるため) |
#1421