Skip to content

Commit 7800a9f

Browse files
committed
deploy: 4326713
1 parent 4bb812e commit 7800a9f

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

docs/getting-started/typescript.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
<span class=grvsc-line><span class=grvsc-source><span class=mtk1> </span><span class=mtk5>"keywords"</span><span class=mtk1>: [],</span></span></span>
1111
<span class=grvsc-line><span class=grvsc-source><span class=mtk1> </span><span class=mtk5>"author"</span><span class=mtk1>: </span><span class=mtk10>""</span><span class=mtk1>,</span></span></span>
1212
<span class=grvsc-line><span class=grvsc-source><span class=mtk1> </span><span class=mtk5>"license"</span><span class=mtk1>: </span><span class=mtk10>"ISC"</span></span></span>
13-
<span class=grvsc-line><span class=grvsc-source><span class=mtk1>}</span></span></span></code></pre><li><p>Install TypeScript compiler and Node.js type definitions.<pre class="atom-one-light grvsc-container"data-index=3 data-language=bash><code class=grvsc-code><span class=grvsc-line><span class=grvsc-source><span class=mtk1>npm i -D typescript @types/node</span></span></span></code></pre><li><p>Use TypeScript to compile your F# code.<pre class="atom-one-light grvsc-container"data-index=4 data-language=bash><code class=grvsc-code><span class=grvsc-line><span class=grvsc-source><span class=mtk1>npx tsc Program.fs --target es2022</span></span></span></code></pre><li><p>Run your code.<pre class="atom-one-light grvsc-container"data-index=5 data-language=bash><code class=grvsc-code><span class=grvsc-line><span class=grvsc-source><span class=mtk1>node Program.fs.js</span></span></span></code></pre><p>You should see <code>Hello from F#</code> in your terminal.<li><p>When targeting the Node.JS, you will probably want to have access to the Node.JS API.<p>To do so, you can use the <a href=https://github.com/fable-compiler/fable-node>Fable.Node</a>.<pre class="atom-one-light grvsc-container"data-index=6 data-language=bash><code class=grvsc-code><span class=grvsc-line><span class=grvsc-source><span class=mtk1>dotnet add package Fable.Node</span></span></span></code></pre><li><p>Change the content of <code>Program.fs</code> to the following:<pre class="atom-one-light grvsc-container"data-index=7 data-language=fs><code class=grvsc-code><span class=grvsc-line><span class=grvsc-source><span class=mtk14>open</span><span class=mtk1> </span><span class=mtk9>Node.Api</span></span></span>
13+
<span class=grvsc-line><span class=grvsc-source><span class=mtk1>}</span></span></span></code></pre><li><p>Install TypeScript compiler and Node.js type definitions.<pre class="atom-one-light grvsc-container"data-index=3 data-language=bash><code class=grvsc-code><span class=grvsc-line><span class=grvsc-source><span class=mtk1>npm i -D typescript @types/node</span></span></span></code></pre><li><p>Use TypeScript to compile your F# code.<pre class="atom-one-light grvsc-container"data-index=4 data-language=bash><code class=grvsc-code><span class=grvsc-line><span class=grvsc-source><span class=mtk1>npx tsc Program.fs.ts --target es2022 --skipLibCheck</span></span></span></code></pre><li><p>Run your code.<pre class="atom-one-light grvsc-container"data-index=5 data-language=bash><code class=grvsc-code><span class=grvsc-line><span class=grvsc-source><span class=mtk1>node Program.fs.js</span></span></span></code></pre><p>You should see <code>Hello from F#</code> in your terminal.<li><p>When targeting the Node.JS, you will probably want to have access to the Node.JS API.<p>To do so, you can use the <a href=https://github.com/fable-compiler/fable-node>Fable.Node</a>.<pre class="atom-one-light grvsc-container"data-index=6 data-language=bash><code class=grvsc-code><span class=grvsc-line><span class=grvsc-source><span class=mtk1>dotnet add package Fable.Node</span></span></span></code></pre><li><p>Change the content of <code>Program.fs</code> to the following:<pre class="atom-one-light grvsc-container"data-index=7 data-language=fs><code class=grvsc-code><span class=grvsc-line><span class=grvsc-source><span class=mtk14>open</span><span class=mtk1> </span><span class=mtk9>Node.Api</span></span></span>
1414
<span class=grvsc-line><span class=grvsc-source></span></span>
15-
<span class=grvsc-line><span class=grvsc-source><span class=mtk1>fs.writeFileSync</span><span class=mtk14>(</span><span class=mtk10>"test.txt"</span><span class=mtk14>,</span><span class=mtk1> </span><span class=mtk10>"Hello World"</span><span class=mtk14>)</span></span></span></code></pre><li><p>Run Fable and TypeScript in watch mode.<p>The follwing command start Fable in watch mode, and after the first Fable compilation, it will start TypeScript in watch mode.<pre class="atom-one-light grvsc-container"data-index=8 data-language=bash><code class=grvsc-code><span class=grvsc-line><span class=grvsc-source><span class=mtk1>dotnet fable watch --lang typescript --run npx tsc Program.fs.ts --target es2022 --watch --preserveWatchOutput</span></span></span></code></pre><blockquote><p>You can use your favorite build system instead to launch the different commands in parallel.</blockquote><p>If you run your node script again, you should see a new file <code>test.txt</code> with the content <code>Hello World</code>.<p>Try changing the content of <code>Hello World</code> to something else and re-run your script.<p>You should see that Fable and TypeScript re-compile your code and the file content changed.</ul><h2 id=browser>Browser<a href=#browser aria-hidden=true tabindex=-1><span class=anchor>#</span></a></h2><article class="is-info message"><div class=message-body><div><p>Please make sure you followed the <a href=/docs/2-steps/your-first-fable-project>Fable setup guide</a> before continuing.</div></div></article><p>In this section, we are going to use <a href=https://vitejs.dev/>Vite</a> as a development server to run our code in the browser.<p>If you want to use another bundler, please refer to their respective documentation.<ul class=textual-steps><li><p>Generate a <code>package.json</code> file.<pre class="atom-one-light grvsc-container"data-index=9 data-language=bash><code class=grvsc-code><span class=grvsc-line><span class=grvsc-source><span class=mtk1>npm init -y</span></span></span></code></pre><li><p>Install Vite.<pre class="atom-one-light grvsc-container"data-index=10 data-language=bash><code class=grvsc-code><span class=grvsc-line><span class=grvsc-source><span class=mtk1>npm i -D vite</span></span></span></code></pre><li><p>Create <code>vite.config.ts</code> file, and add the following content:<pre class="atom-one-light grvsc-container"data-index=11 data-language=ts><code class=grvsc-code><span class=grvsc-line><span class=grvsc-source><span class=mtk14>import</span><span class=mtk1> { </span><span class=mtk5>defineConfig</span><span class=mtk1> } </span><span class=mtk14>from</span><span class=mtk1> </span><span class=mtk10>'vite'</span></span></span>
15+
<span class=grvsc-line><span class=grvsc-source><span class=mtk1>fs.writeFileSync</span><span class=mtk14>(</span><span class=mtk10>"test.txt"</span><span class=mtk14>,</span><span class=mtk1> </span><span class=mtk10>"Hello World"</span><span class=mtk14>)</span></span></span></code></pre><li><p>Run Fable and TypeScript in watch mode.<p>The follwing command start Fable in watch mode, and after the first Fable compilation, it will start TypeScript in watch mode.<pre class="atom-one-light grvsc-container"data-index=8 data-language=bash><code class=grvsc-code><span class=grvsc-line><span class=grvsc-source><span class=mtk1>dotnet fable watch --lang typescript --run npx tsc Program.fs.ts --target es2022 --skipLibCheck --watch --preserveWatchOutput</span></span></span></code></pre><blockquote><p>You can use your favorite build system instead to launch the different commands in parallel.</blockquote><p>If you run your node script again, you should see a new file <code>test.txt</code> with the content <code>Hello World</code>.<p>Try changing the content of <code>Hello World</code> to something else and re-run your script.<p>You should see that Fable and TypeScript re-compile your code and the file content changed.</ul><h2 id=browser>Browser<a href=#browser aria-hidden=true tabindex=-1><span class=anchor>#</span></a></h2><article class="is-info message"><div class=message-body><div><p>Please make sure you followed the <a href=/docs/2-steps/your-first-fable-project>Fable setup guide</a> before continuing.</div></div></article><p>In this section, we are going to use <a href=https://vitejs.dev/>Vite</a> as a development server to run our code in the browser.<p>If you want to use another bundler, please refer to their respective documentation.<ul class=textual-steps><li><p>Generate a <code>package.json</code> file.<pre class="atom-one-light grvsc-container"data-index=9 data-language=bash><code class=grvsc-code><span class=grvsc-line><span class=grvsc-source><span class=mtk1>npm init -y</span></span></span></code></pre><li><p>Install Vite.<pre class="atom-one-light grvsc-container"data-index=10 data-language=bash><code class=grvsc-code><span class=grvsc-line><span class=grvsc-source><span class=mtk1>npm i -D vite</span></span></span></code></pre><li><p>Create <code>vite.config.ts</code> file, and add the following content:<pre class="atom-one-light grvsc-container"data-index=11 data-language=ts><code class=grvsc-code><span class=grvsc-line><span class=grvsc-source><span class=mtk14>import</span><span class=mtk1> { </span><span class=mtk5>defineConfig</span><span class=mtk1> } </span><span class=mtk14>from</span><span class=mtk1> </span><span class=mtk10>'vite'</span></span></span>
1616
<span class=grvsc-line><span class=grvsc-source></span></span>
1717
<span class=grvsc-line><span class=grvsc-source><span class="mtk7 mtki">// https://vitejs.dev/config/</span></span></span>
1818
<span class=grvsc-line><span class=grvsc-source><span class=mtk14>export</span><span class=mtk1> </span><span class=mtk5>default</span><span class=mtk1> </span><span class=mtk9>defineConfig</span><span class=mtk1>({</span></span></span>

0 commit comments

Comments
 (0)