<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: X.</title>
    <description>The latest articles on DEV Community by X. (@ije).</description>
    <link>https://dev.to/ije</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F494380%2Fa0ca934b-d648-4255-894e-690712ed6f7d.png</url>
      <title>DEV Community: X.</title>
      <link>https://dev.to/ije</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ije"/>
    <language>en</language>
    <item>
      <title>Introducing: ESM CDN for NPM + Deno</title>
      <dc:creator>X.</dc:creator>
      <pubDate>Mon, 16 Nov 2020 10:41:46 +0000</pubDate>
      <link>https://dev.to/ije/introducing-esm-cdn-for-npm-deno-1mpo</link>
      <guid>https://dev.to/ije/introducing-esm-cdn-for-npm-deno-1mpo</guid>
      <description>&lt;p&gt;Hi, let me introduce you to &lt;a href="https://esm.sh" rel="noopener noreferrer"&gt;esm.sh&lt;/a&gt;, a fast, global content delivery network (CDN) for modern(es2015+) web development that allows you to import &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules" rel="noopener noreferrer"&gt;es6 modules&lt;/a&gt; from a URL:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://esm.sh/react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Specify version
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://esm.sh/react@17.0.1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Submodule
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;renderToString&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://esm.sh/react-dom/server&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Deno compatibility
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;esm.sh&lt;/strong&gt; will polyfill the node internal modules(&lt;strong&gt;fs&lt;/strong&gt;, &lt;strong&gt;os&lt;/strong&gt;, etc..) with &lt;a href="https://deno.land/std/node" rel="noopener noreferrer"&gt;&lt;code&gt;https://deno.land/std/node&lt;/code&gt;&lt;/a&gt; to support some modules to work in Deno, like &lt;code&gt;postcss&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;postcss&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://esm.sh/postcss&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;autoprefixer&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://esm.sh/autoprefixer&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;css&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;postcss&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt; &lt;span class="nx"&gt;autoprefixer&lt;/span&gt;&lt;span class="p"&gt;]).&lt;/span&gt;&lt;span class="nf"&gt;process&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`
    backdrop-filter: blur(5px);
    user-select: none;
`&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="k"&gt;async&lt;/span&gt;&lt;span class="p"&gt;()).&lt;/span&gt;&lt;span class="nx"&gt;content&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  X-Typescript-Types
&lt;/h4&gt;

&lt;p&gt;By default, &lt;strong&gt;esm.sh&lt;/strong&gt; will response a custom HTTP header of &lt;code&gt;X-TypeScript-Types&lt;/code&gt; when the types(dts) defined, that is useful for Deno types check (&lt;a href="https://deno.land/manual/getting_started/typescript#x-typescript-types-custom-header" rel="noopener noreferrer"&gt;link&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fbol7i0qb6g3paxj3oax8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fbol7i0qb6g3paxj3oax8.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  More usages
&lt;/h3&gt;

&lt;p&gt;Please check &lt;a href="https://esm.sh" rel="noopener noreferrer"&gt;https://esm.sh&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Open source
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;esm.sh&lt;/strong&gt; is licensed under the &lt;strong&gt;MIT&lt;/strong&gt; License.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://github.com/esm-dev/esm.sh" rel="noopener noreferrer"&gt;https://github.com/esm-dev/esm.sh&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>deno</category>
      <category>npm</category>
      <category>cdn</category>
      <category>esm</category>
    </item>
    <item>
      <title>How to `useDeno` in a React Component?</title>
      <dc:creator>X.</dc:creator>
      <pubDate>Thu, 29 Oct 2020 00:26:13 +0000</pubDate>
      <link>https://dev.to/ije/how-to-usedeno-in-a-react-component-47d2</link>
      <guid>https://dev.to/ije/how-to-usedeno-in-a-react-component-47d2</guid>
      <description>&lt;p&gt;Hi, let me introduce you to &lt;a href="https://alephjs.org"&gt;Aleph.js&lt;/a&gt;, a React Framework in Deno, inspired by &lt;strong&gt;Next.js&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Different with Next.js, Aleph.js don't need &lt;strong&gt;webpack&lt;/strong&gt; or other bundler since it uses the &lt;strong&gt;ESM imports&lt;/strong&gt; syntax during development, like Vite and snowpack. Every module only needs to be compiled once and then cached on the disk. When a module changes, Aleph.js just recompile that single module, there's no time wasted re-bundling every changes, and instant updates in the browser by &lt;strong&gt;HMR&lt;/strong&gt;(Hot Module Replacement) with &lt;strong&gt;React Fast Refresh&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Aleph.js works in &lt;a href="https://deno.land"&gt;Deno&lt;/a&gt;, the modern and secure runtime for JavaScript and TypeScript. No &lt;code&gt;package.json&lt;/code&gt; and &lt;code&gt;node_modules&lt;/code&gt; directory needed, all dependencies are imported as URL and managed by Aleph.js:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://esm.sh/react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Logo&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;../components/logo.tsx&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;Page&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Logo&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Hello World!&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Zero Config&lt;/li&gt;
&lt;li&gt;Typescript in Deno&lt;/li&gt;
&lt;li&gt;ES Module Ready&lt;/li&gt;
&lt;li&gt;Import Maps&lt;/li&gt;
&lt;li&gt;HMR with Fast Refresh&lt;/li&gt;
&lt;li&gt;File-system Routing&lt;/li&gt;
&lt;li&gt;Markdown Page&lt;/li&gt;
&lt;li&gt;Built-in CSS(Less) Support&lt;/li&gt;
&lt;li&gt;SSR/SSG&lt;/li&gt;
&lt;li&gt;Plugins&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Create It?
&lt;/h2&gt;

&lt;p&gt;Well, as a full-stack developer and a user of &lt;strong&gt;Next.js&lt;/strong&gt;, I use React in almost all of my projects and feel good with &lt;a href="http://vercel.com"&gt;Vercel&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;But there are still some &lt;em&gt;defects&lt;/em&gt;, I would call it, let me down:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Over-complicated Webpack&lt;/li&gt;
&lt;li&gt;Dirty AMD/UMD/CommonJS&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Unnecessary&lt;/em&gt; &lt;code&gt;package.json&lt;/code&gt; and &lt;code&gt;ts.config.json&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;node_modules&lt;/code&gt; Hells&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Maybe those are not real &lt;em&gt;Pain Points&lt;/em&gt; for us, always can find a &lt;em&gt;polyfill&lt;/em&gt;, but we deserve the best tools to make our life more easy.&lt;/p&gt;

&lt;p&gt;Just as vite,snowpack,esbuild,deno,swc do: &lt;strong&gt;explores the best developer experience&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deno&lt;/strong&gt; is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust. &lt;a href="https://deno.land"&gt;¹&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;run javascript(es2020)/typescript without any config&lt;/li&gt;
&lt;li&gt;Permissions(--allow-read, --allow-write, --allow-net, etc)&lt;/li&gt;
&lt;li&gt;Built-in high performance tools(bundler,fmt,doc,lint) written in Rust&lt;/li&gt;
&lt;li&gt;Browser compatibility(fetch, window namespace, etc)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For me, Deno is a prefect runtime to run full-stack frameworks, so I initiated &lt;strong&gt;Aleph.js&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  "useDeno"
&lt;/h2&gt;

&lt;p&gt;Most concepts of Aleph.js are same with Next.js, but add some different features I always wish Next do.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For exemaple&lt;/strong&gt;, In Next.js, two functions called &lt;code&gt;getStaticProps&lt;/code&gt; and &lt;code&gt;getServerSideProps&lt;/code&gt; are used by the pages to fetch data at &lt;strong&gt;build time(SSR)&lt;/strong&gt; or on each request. This solution isolates the &lt;code&gt;data&lt;/code&gt; and &lt;code&gt;view&lt;/code&gt; likes different roles of the &lt;code&gt;back-end&lt;/code&gt; and &lt;code&gt;front-end&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;But for me, i prefer use &lt;strong&gt;Hook&lt;/strong&gt; to fetch data during &lt;strong&gt;SSR&lt;/strong&gt;, just like Aleph.js do: a hook called &lt;code&gt;useDeno&lt;/code&gt; provided that allows you &lt;em&gt;fetch data&lt;/em&gt; at build time(SSR) in a component with Deno runtime, that's more &lt;em&gt;React Style&lt;/em&gt; likely:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://esm.sh/react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useDeno&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://deno.land/x/aleph/mod.ts&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;Page&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;version&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useDeno&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;Deno&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;version&lt;/span&gt;
  &lt;span class="p"&gt;})&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Powered by Deno v&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;version&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;deno&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or &lt;em&gt;fetch data&lt;/em&gt; asynchronously:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://esm.sh/react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useDeno&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;useRouter&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://deno.land/x/aleph/mod.ts&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;Post&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;params&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useRouter&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;post&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useDeno&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="err"&gt;https://.../post/&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;)).&lt;/span&gt;&lt;span class="nx"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
  &lt;span class="p"&gt;})&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;post&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  How It Works
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;useDeno&lt;/code&gt; hook will receive a sync or async callback(the first parameter), during the build time(SSG) each callback of useDeno will be invoked and then cache the returned data, after in the browser the callbacks of useDeno will be ignored and the cached data will be used, that's it.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;More usages please our documentation: &lt;a href="https://alephjs.org/docs"&gt;https://alephjs.org/docs&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Status
&lt;/h2&gt;

&lt;p&gt;Aleph.js in &lt;strong&gt;alpha&lt;/strong&gt; stage, not ready for &lt;em&gt;production&lt;/em&gt;. You can check our website which built by Aleph.js, and welcome to take a shot.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Website&lt;/strong&gt;: &lt;a href="https://alephjs.org"&gt;https://alephjs.org&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Github&lt;/strong&gt;: &lt;a href="https://github.com/alephjs/aleph.js"&gt;https://github.com/alephjs/aleph.js&lt;/a&gt; (Under the MIT License.)&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>deno</category>
      <category>react</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
