<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] # REPL 命令行 略~ # 使用 TS 語法 因為 ts 是建立在 js 的基礎之上的,但是 node 又不能直接運行 ts 代碼,實際使用是往往需要使用 tsc 將 ts 代碼編譯成 js 代碼,這無疑是很麻煩的。 ## ts-node 而 ts-node 則包裝了 node,它可以直接的運行 ts 代碼,使用起來很方便,它的官方倉庫在這里 [TypeStrong/ts-node)](https://github.com/TypeStrong/ts-node) , 基本用法請自行查看它的 readme。 ## ts-node-dev node 中有個 nodemon,可以在開發時自動的重啟我們的 node 程序,而在 ts-node 中,對應的就是 ts-node-dev ~~~ $ npx ts-node-dev src/index.ts ~~~ # 使用 ES6語法 ## 借助 Babel 1. 安裝必須包 ~~~ npm install babel-register babel-preset-env --D ~~~ 2. 新建 `serverjs` 文件 ~~~ import Koa from 'koa' const app = new Koa() app.listen(3000, console.log("application is start at port 3000")) ~~~ 新增一個名為 `start.js` 啟動文件: ~~~ // 當然不喜歡吧配置放這里,也可以拿出去,后面介紹 require('babel-register') ({ presets: [ 'env' ] }) module.exports = require('./server.js') ~~~ 接下來用 `node start.js` 來啟動! ***** 單獨取出配置,新建 `.babelrc` 文件,使用轉換 ES2015+ 的 env preset ~~~ { "presets":[ "env" ] } ~~~ ## babel-node 1. 安裝 ``` $ npm i -D @babel/core @babel/node @babel/preset-env ``` 2. `.babelrc` 文件配置 ``` { "presets": [ "@babel/preset-env" ] } ``` 3. 執行 babel-node ``` $ babel-node test.js ``` 注意??:由于性能問題,babel-node 僅限于在本地調試時使用,線上還是需要用 node 去運行! ## `--experimental-modules` Node 9 開始支持 `ECMAScript Modules` 語法,使用 `import/export` 的文件后綴名必須為 `*.mjs`(?那很多模塊使用`js` 咋辦?別急,下面會講利用 **Loader Hooks** 兼容 `*.js` 后綴文件)。 `ECMAScript Modules` 和 `require()` 的 cache 機制不一樣。 命令行執行,(腳本后綴名為`.mjs`): ``` $ node --experimental-modules script.mjs # 啟動必須加上 `--experimental-modules` ``` Node.js 12 帶來了一些非常令人興奮的改進,例如 **[ES6 模塊支持](https://medium.com/@nodejs/announcing-a-new-experimental-modules-1be8d2d6c2ff)**、更好的應用程序安全性和更快的啟動速度等。 * 將 `"type": "module"` 添加到項目的 `package.json` 中,且 Node.js 將項目中的所有 `.js` 文件視為 ES 模塊。這種方法允許 Node 將 `package.json` 用于包級元數據和配置,做法類似 Babel 等捆綁和配置工具。 * 使用 `.mjs` 結尾的文件會被顯式視為模塊,使用 `.cjs` 結尾的文件會被視為 CommonJS。這些是仍然使用 `require` 和 `module.exports` 語法類型的文件。 現在這些功能不再需要標志就能使用,真是太棒了。 # 參考 Node已經支持絕大多數ES6功能,這些功能可以在 [node.green](https://node.green/) 網站上看到。 [https://www.c-sharpcorner.com/article/node-js-repl-terminal/](https://www.c-sharpcorner.com/article/node-js-repl-terminal/)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看