<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Node.js 簡介 > 原文: [http://zetcode.com/javascript/nodejs/](http://zetcode.com/javascript/nodejs/) Node.js 教程是 Node.js 的入門教程。 我們描述 Node.js 并提供一些 Node.js 代碼示例。 ## Nojde.js Node.js 是一個開源,跨平臺的 JavaScript 運行時環境。 它基于 Chrome 的 V8 JavaScript 引擎構建。 Node.js 使用事件驅動的非阻塞 I / O 模型,從而使其輕巧高效。 Node.js 最初由 Ryan Dahl 在 2009 年編寫。 Node.js 提供了各種 JavaScript 模塊的豐富庫,例如用于文件系統的`fs`或用于 HTTP 請求和響應的`http`。 Node.js 應用是用 JavaScript 編寫的,可以在 OS X,Microsoft Windows 和 Linux 上的 Node.js 運行時中運行。 Node.js 有一個名為`npm`的包管理器,它是一個龐大的開源 JavaScript 庫生態系統。 ## Node.js 安裝 我們安裝了最新版本的 Node.js。 Node.js 版本 9 實現了大多數 ECMAScript 6 規范。 請遵循適用于您平臺的 Node.js 網站上提供的安裝說明。 ```js $ curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash - $ sudo apt-get install -y nodejs ``` 這就是我們在 Debian Linux 上安裝 Node.js 的方式。 ```js $ nodejs -v v9.11.1 ``` 我們顯示 Node.js 的版本。 ## Node.js 第一個示例 我們創建一個簡單的控制臺應用。 `first.js` ```js console.log("This is our first application"); ``` 該程序將消息打印到控制臺。 ```js $ node first.js This is our first application ``` 這是輸出。 ## Node.js 讀取文件內容 Node.js 包含用于處理文件的`fs`模塊。 `words.txt` ```js blue book pen dog computer screen ``` 我們有一個文本文件。 Node.js 中的大多數函數都是異步的。 是非阻塞的; 也就是說,它們不會阻止腳本的執行。 `read_file.js` ```js const fs = require('fs') fs.readFile('words.txt', 'utf-8', (err, data) => { if (err) throw err; console.log(data); }); console.log("Script continues...") ``` 該示例讀取`words.txt`文件的內容。 ```js const fs = require('fs'); ``` 我們加載`fs`模塊。 ```js fs.readFile('words.txt', 'utf-8', (err, data) => { ``` `readFile()`異步讀取文件的全部內容。 我們在方法的第二個參數中指定編碼。 ```js $ node read_file.js Script continues blue book pen dog computer screen ``` 這是輸出。 文件內容之前顯示`"Script continues"`。 ## Node.js 同步讀取目錄 現在,我們將讀取目錄的內容。 `readdir_syn.js` ```js const fs = require('fs'); readDirContentSync('.'); console.log("Ready."); function readDirContentSync(mydir) { const filenames = fs.readdirSync(mydir); for (var i = 0; i < filenames.length; i++) { console.log(filenames[i]); } } ``` 該代碼示例同步讀取目錄的內容。 ```js const filenames = fs.readdirSync(mydir); ``` 我們與`readdirSync()`同步讀取目錄。 ```js for (var i = 0; i < filenames.length; i++) { console.log(filenames[i]); } ``` 我們遍歷文件名數組,并將它們打印到控制臺。 ```js $ node readdir_syn.js builtins.js first.js links read_file.js readdir_asyn.js readdir_syn.js server.js todo words.txt Ready. ``` 通過同步函數調用,`"Ready."`。 函數完成執行后,顯示消息。 ## Node.js 異步讀取目錄 在下一個示例中,我們異步讀取目錄。 `readdir_async.js` ```js var fs = require('fs'); fs.readdir(".", (err, filenames) => { for (var i = 0; i < filenames.length; i++) { console.log(filenames[i]); } console.log("Ready."); }); ``` `readdir()`異步讀取當前工作目錄的內容。 它用目錄中文件的名稱(不包括`.`和`..`)填充數組。 ## Node.js 讀取網頁 在下面的示例中,我們使用內置的`http`模塊讀取網頁。 `read_page.js` ```js const http = require('http'); const request = http.request({ hostname: 'www.something.com' }, (res) => { res.setEncoding('utf8'); res.on('data', (chunk) => { console.log(chunk); }); }); request.end(); request.on('error', (err) => { console.log("Error occured\n"); console.error(err); }); ``` 在示例中,我們使用`http`模塊創建對小型網頁的請求。 返回的 HTML 頁面將打印到控制臺。 ```js $ node read_site.js <html><head><title>Something.</title></head> <body>Something.</body> </html> ``` 我們已經收到了這個小的 HTML 頁面。 ## 使用`npm`安裝 Node.js 模塊 可以使用`npm`(節點包管理器)安裝其他模塊。 現在,我們將安裝一個名為`builtin-modules`的新模塊。 通過此模塊,我們將列出所有可用的 Node.js 內置模塊。 ```js $ mkdir builtmodtest $ cd builtmodtest/ $ npm init ``` 我們創建一個新的項目目錄。 使用`npm init`命令創建一個`package.json`文件。 它包含與項目相關的元數據,例如應用名稱,作者或依賴項。 ```js $ cat package.json { "name": "builtmodtest", "version": "1.0.0", "description": "Testing builtin modules", "main": "main.js", "scripts": { "start": "node main.js" }, "author": "Jan Bodnar", "license": "ISC" } ``` 這是初始的`package.json`文件。 我們選擇了`main.js`作為主文件。 ```js $ npm install builtin-modules $ tree -L 1 . ├── main.js ├── node_modules ├── package.json └── package-lock.json ``` 使用`npm install builtin-modules`,我們可以在本地安裝`builtin-modules`模塊。 創建一個新的`node_modules`目錄,在其中存儲模塊及其依賴項。 npm 自動創建了一個`package-lock.json`文件。 它用于確保隊友,部署和持續集成的依賴項安裝的一致性。 該文件必須提交到源存儲庫。 ```js $ cat package.json { "name": "builtmodtest", "version": "1.0.0", "description": "Testing builtin modules", "main": "main.js", "scripts": { "start": "node main.js" }, "author": "Jan Bodnar", "license": "ISC", "dependencies": { "builtin-modules": "^2.0.0" } } ``` `builtin-modules`也被寫入`package.json`文件。 `main.js` ```js const builtmods = require('builtin-modules'); console.log(builtmods); ``` 這是`main.js`文件。 它將所有內置模塊打印到控制臺。 ```js $ npm start > builtmod@1.0.0 start /home/janbodnar/prog/nodejs/builtmod > node main.js [ 'assert', 'async_hooks', 'buffer', 'child_process', 'cluster', 'config', 'console', 'constants', ... ] ``` 這是程序的輸出。 ## Node.js 服務器 我們使用 Node.js `http`模塊創建一個簡單的服務器。 `server.js` ```js const http = require('http'); const server = http.createServer((req, res) => { res.writeHead(200, {"Content-Type": "text/plain"}); res.end("Hello there\n"); }); server.listen(8000); console.log("Server running at http://127.0.0.1:8000/"); ``` 服務器向客戶端發送一條簡單的文本消息。 ```js const http = require('http'); ``` 我們加載`http`模塊以創建 http 服務器。 ```js const server = http.createServer((req, res) => { res.writeHead(200, {"Content-Type": "text/plain"}); res.end("Hello there\n"); }); ``` 服務器已創建。 它向客戶端發送一條短信。 ```js server.listen(8000); ``` 服務器監聽 localhost 上的端口 8000。 ```js $ node server.js & $ curl localhost:8000 Hello there ``` 我們運行服務器并使用`curl`創建一個請求。 在本教程中,我們介紹了 Node.js。 我們已經使用 Node.js 創建了一些代碼示例。 您可能也對以下相關教程感興趣: [JSON 服務器教程](/javascript/jsonserver/), [Liquid.js 教程](/javascript/liquidjs/),[從 JavaScript 中的 URL 讀取 JSON](/articles/javascriptjsonurl/) , [JavaScript 貪食蛇教程](/javascript/snake/), [jQuery 教程](/web/jquery/), [Lodash 教程](/javascript/lodash/), [jQuery 自動完成教程](/articles/jqueryautocomplete/)或[使用 jQuery `DatePicker`](/articles/jquerydatepicker/) 。
                  <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>

                              哎呀哎呀视频在线观看