2025-07-03 19:08:33 +08:00
|
|
|
|
<!doctype html>
|
2023-07-20 13:45:41 +08:00
|
|
|
|
<html lang="en">
|
2023-08-04 16:05:14 +08:00
|
|
|
|
<head>
|
|
|
|
|
|
<meta charset="utf-8" />
|
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
|
|
|
|
<title>%REACT_APP_NAME%</title>
|
|
|
|
|
|
<style>
|
|
|
|
|
|
img {
|
|
|
|
|
|
width: 1.2em;
|
|
|
|
|
|
height: 1.2em;
|
|
|
|
|
|
}
|
2023-07-20 13:45:41 +08:00
|
|
|
|
|
2023-08-04 16:05:14 +08:00
|
|
|
|
svg {
|
|
|
|
|
|
max-width: 1.2em;
|
|
|
|
|
|
max-height: 1.2em;
|
|
|
|
|
|
}
|
|
|
|
|
|
</style>
|
2023-08-25 17:07:53 +08:00
|
|
|
|
<script>
|
2025-07-03 19:08:33 +08:00
|
|
|
|
document.addEventListener('DOMContentLoaded', function () {
|
2023-08-26 13:10:13 +08:00
|
|
|
|
// (() => {
|
|
|
|
|
|
// var shadow = document.querySelector("#shadow1");
|
|
|
|
|
|
// var root = shadow.attachShadow({ mode: "open" });
|
|
|
|
|
|
// var newLine = document.createElement("p");
|
|
|
|
|
|
// newLine.innerText = "new line";
|
|
|
|
|
|
// root.appendChild(newLine);
|
|
|
|
|
|
// })();
|
2023-08-25 17:07:53 +08:00
|
|
|
|
|
2023-08-26 13:10:13 +08:00
|
|
|
|
// setTimeout(function () {
|
|
|
|
|
|
// var shadow = document.querySelector("#shadow2");
|
|
|
|
|
|
// var root = shadow.attachShadow({ mode: "open" });
|
|
|
|
|
|
// }, 1000);
|
|
|
|
|
|
|
|
|
|
|
|
// setTimeout(() => {
|
|
|
|
|
|
// var newLine = document.createElement("p");
|
|
|
|
|
|
// newLine.innerText = "new line";
|
|
|
|
|
|
// var shadow = document.querySelector("#shadow2");
|
|
|
|
|
|
// shadow.shadowRoot.appendChild(newLine);
|
|
|
|
|
|
// }, 2000);
|
2023-08-25 17:07:53 +08:00
|
|
|
|
|
2023-08-26 13:10:13 +08:00
|
|
|
|
// setTimeout(() => {
|
|
|
|
|
|
// var newLine = document.createElement("div");
|
|
|
|
|
|
// newLine.innerHTML = "<p>second line</p><p>third line</p>";
|
|
|
|
|
|
// var shadow = document.querySelector("#shadow2");
|
|
|
|
|
|
// shadow.shadowRoot.appendChild(newLine);
|
|
|
|
|
|
// }, 3000);
|
2023-08-25 17:07:53 +08:00
|
|
|
|
|
2023-08-26 13:10:13 +08:00
|
|
|
|
// setTimeout(function () {
|
|
|
|
|
|
// var el = document.querySelector("h2");
|
|
|
|
|
|
// el.innerText = "hello world";
|
|
|
|
|
|
|
|
|
|
|
|
// var title = document.querySelector("#addtitle");
|
|
|
|
|
|
// title.innerHTML =
|
|
|
|
|
|
// "<div><p>second title</p><ul><li>second title</li><li><p>second title</p></li></ul></div>";
|
|
|
|
|
|
// }, 1000);
|
2023-08-25 17:07:53 +08:00
|
|
|
|
|
|
|
|
|
|
setTimeout(function () {
|
2025-07-03 19:08:33 +08:00
|
|
|
|
var el = document.querySelector('h2>p>span');
|
|
|
|
|
|
el.innerText = 'hello world';
|
2023-08-25 17:07:53 +08:00
|
|
|
|
}, 1000);
|
|
|
|
|
|
});
|
|
|
|
|
|
</script>
|
2023-08-04 16:05:14 +08:00
|
|
|
|
</head>
|
2023-07-20 13:45:41 +08:00
|
|
|
|
|
2023-08-04 16:05:14 +08:00
|
|
|
|
<body>
|
|
|
|
|
|
<noscript>You need to enable JavaScript to run this app.</noscript>
|
|
|
|
|
|
<div id="root">
|
2024-01-02 17:55:59 +08:00
|
|
|
|
<p>You need to enable <code>JavaScript</code> to run <span>this app.</span></p>
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
2023-09-03 21:08:45 +08:00
|
|
|
|
<div id="content">
|
|
|
|
|
|
<p>You need to enable JavaScript to run <span>this app.</span></p>
|
2025-07-03 19:08:33 +08:00
|
|
|
|
The <span>embargo</span> has just lifted to confirm that AmpereOne is coming to
|
|
|
|
|
|
Google Cloud with the C3A instances.
|
2023-09-03 21:08:45 +08:00
|
|
|
|
<br />
|
|
|
|
|
|
But these upcoming instances for now are only in private preview form.
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
Needless to say I also haven't had any AmpereOne access to check out the
|
2025-07-03 19:08:33 +08:00
|
|
|
|
performance and power efficiency of these new Arm server processors from Ampere
|
|
|
|
|
|
Computing.
|
2023-09-03 21:08:45 +08:00
|
|
|
|
<br />
|
|
|
|
|
|
</div>
|
2023-08-25 17:07:53 +08:00
|
|
|
|
<h2>
|
2023-09-03 21:08:45 +08:00
|
|
|
|
<p>
|
2025-07-03 19:08:33 +08:00
|
|
|
|
<span>React is a JavaScript library for building user interfaces.</span>
|
2023-09-03 21:08:45 +08:00
|
|
|
|
</p>
|
2023-08-25 17:07:53 +08:00
|
|
|
|
</h2>
|
2023-09-13 18:02:51 +08:00
|
|
|
|
<hr />
|
2025-07-03 19:08:33 +08:00
|
|
|
|
<input id="input1" style="width: 80%" />
|
2023-09-13 18:02:51 +08:00
|
|
|
|
<hr />
|
2025-07-03 19:08:33 +08:00
|
|
|
|
<textarea id="textarea1" style="width: 80%">test</textarea>
|
2023-09-13 18:02:51 +08:00
|
|
|
|
<hr />
|
2023-08-24 14:57:54 +08:00
|
|
|
|
<div id="addtitle"></div>
|
2023-08-23 17:53:46 +08:00
|
|
|
|
<h2>Shadow 1</h2>
|
|
|
|
|
|
<div id="shadow1"></div>
|
2023-08-25 17:07:53 +08:00
|
|
|
|
<h2>Shadow 2</h2>
|
|
|
|
|
|
<div id="shadow2"></div>
|
2023-08-04 16:05:14 +08:00
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
2023-08-23 17:53:46 +08:00
|
|
|
|
<h2>
|
2025-07-03 19:08:33 +08:00
|
|
|
|
React Server Components (or RSC) is a new application architecture designed by the
|
|
|
|
|
|
React team.
|
2023-08-23 17:53:46 +08:00
|
|
|
|
</h2>
|
|
|
|
|
|
<iframe
|
|
|
|
|
|
id="iframe1"
|
|
|
|
|
|
width="800px"
|
|
|
|
|
|
height="600px"
|
2025-07-03 19:08:33 +08:00
|
|
|
|
src="http://localhost:3000/index.html"></iframe>
|
2023-08-04 16:05:14 +08:00
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
2025-07-03 19:08:33 +08:00
|
|
|
|
<h2>We’ve first shared our research on RSC in an introductory talk and an RFC.</h2>
|
2023-08-04 16:05:14 +08:00
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
2023-08-23 17:53:46 +08:00
|
|
|
|
<h2>
|
2025-07-03 19:08:33 +08:00
|
|
|
|
To recap them, we are introducing a new kind of component—Server Components—that
|
|
|
|
|
|
run ahead of time and are excluded from your JavaScript bundle.
|
2023-08-23 17:53:46 +08:00
|
|
|
|
</h2>
|
2025-07-03 19:08:33 +08:00
|
|
|
|
<iframe id="iframe2" width="800px" height="600px" src="https://react.dev/"></iframe>
|
2023-08-04 16:05:14 +08:00
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<div class="cont cont1">
|
2023-08-23 17:53:46 +08:00
|
|
|
|
<h2>
|
2025-07-03 19:08:33 +08:00
|
|
|
|
Server Components can run during the build, letting you read from the filesystem
|
|
|
|
|
|
or fetch static content.
|
2023-08-23 17:53:46 +08:00
|
|
|
|
</h2>
|
2023-08-04 16:05:14 +08:00
|
|
|
|
<ul>
|
|
|
|
|
|
<li>
|
2025-07-03 19:08:33 +08:00
|
|
|
|
They can also run on the server, letting you access your data layer without
|
|
|
|
|
|
having to build an API. You can pass data by props from Server Components to
|
|
|
|
|
|
the interactive Client Components in the browser.
|
2023-08-04 16:05:14 +08:00
|
|
|
|
</li>
|
|
|
|
|
|
<li>以声明式编写 UI,可以让你的代码更加可靠,且方便调试。</li>
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
</div>
|
2023-08-23 17:53:46 +08:00
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
|
|
|
|
|
<br />
|
2023-08-04 16:05:14 +08:00
|
|
|
|
<div class="cont cont2">
|
|
|
|
|
|
<h2>
|
2025-07-03 19:08:33 +08:00
|
|
|
|
Since our last update, we have merged the React Server Components RFC to ratify
|
|
|
|
|
|
the proposal.
|
2023-08-04 16:05:14 +08:00
|
|
|
|
</h2>
|
|
|
|
|
|
<ul>
|
|
|
|
|
|
<li>
|
2025-07-03 19:08:33 +08:00
|
|
|
|
RSC combines the simple “request/response” mental model of server-centric
|
|
|
|
|
|
Multi-Page Apps with the seamless interactivity of client-centric Single-Page
|
|
|
|
|
|
Apps, giving you the best of both worlds.
|
2023-08-04 16:05:14 +08:00
|
|
|
|
</li>
|
|
|
|
|
|
<li>
|
|
|
|
|
|
React 使创建交互式 UI
|
|
|
|
|
|
变得轻而易举。为你应用的每一个状态设计简洁的视图,当数据变动时 React
|
|
|
|
|
|
能高效更新并渲染合适的组件。
|
|
|
|
|
|
</li>
|
|
|
|
|
|
<li>以声明式编写 UI,可以让你的代码更加可靠,且方便调试。</li>
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
</div>
|
2023-07-20 13:45:41 +08:00
|
|
|
|
</div>
|
2023-08-04 16:05:14 +08:00
|
|
|
|
<!--
|
2023-07-20 13:45:41 +08:00
|
|
|
|
This HTML file is a template.
|
|
|
|
|
|
If you open it directly in the browser, you will see an empty page.
|
|
|
|
|
|
|
|
|
|
|
|
You can add webfonts, meta tags, or analytics to this file.
|
|
|
|
|
|
The build step will place the bundled scripts into the <body> tag.
|
|
|
|
|
|
|
|
|
|
|
|
To begin the development, run `npm start` or `yarn start`.
|
|
|
|
|
|
To create a production bundle, use `npm run build` or `yarn build`.
|
|
|
|
|
|
-->
|
2023-08-04 16:05:14 +08:00
|
|
|
|
</body>
|
|
|
|
|
|
</html>
|