動態

詳情 返回 返回

第一個nodejs程序 - 動態 詳情

推薦編輯器

記事本

  是的,首先開發要明確一點,代碼才是一個項目的核心,編輯器只是一個輔助工具,一個能給予可靠的關鍵詞提示的工具,心中有代碼,處處能開發

  而代碼的運行也一樣,編輯器只是起到一個輔助的作用,給關鍵命令行提供了一個可靠的按鈕,只需要輕鬆點擊即可完成該命令行的執行,完成代碼的運行和debug;

  所以要擅長運用命令行來運行代碼,不要過度依賴編輯器,這樣如果編輯器的某個按鈕出問題,也能及時查找出原因並加以修正,要有離開了編輯器的buff加持,一樣能寫代碼的能力

idea

  idea可以編寫任何類型語言的編輯器(C語言C++近兩年才支持,其獨立軟件名為CLion),稱之為宇宙最強編輯器也不為過,但僅限於企業版的idea, 不要問我哪裏來的企業版idea ,上天能寫代碼,下海能寫文檔(md),寫論文(latex),僅僅只需要簡單的安裝一些插件,便能給你提供最舒適的編寫環境,使開發者更能集中精力到代碼的邏輯和內容上而不是代碼的複雜的語法上

  更重要的還是編輯器領域智能的天花板,主要體現在提示智能、糾錯智能、項目結構精準識別等方面,根據idea的提示,甚至不需要閲讀外部依賴包的文檔即可立即上手;代碼標了紅沒關係,試試idea獨有的絕活alt+enter;idea還能精準識別項目所用框架、項目文件結構,甚至隨意調整文件位置,也不需要手動修改代碼中的引用路徑

vscode

  如果沒有idea可以用,vscode也是一個很好的選擇,智能程度上可能略遜於idea,但是作為一個合格的代碼編輯器來講,同樣具有和idea一樣的通過插件安裝即可輕鬆編輯任何類型語言的能力(包括md,latex等)

不推薦vs

  此處的VS指visual studio,儘管vs也具有編寫多種語言的強大能力,但依然不推薦將其作為任何一種語言的編輯工具,不推薦的原因主要有

  • vs吃C盤空間、卸不乾淨:這已經是vs詬病多年的老問題了,即便已經安裝到了別的盤,vs還是會在C盤如同毒瘤一般佔據很大的一席之地
  • vs使項目結構變得複雜:一個簡單的項目會被vs套了一層又一層,且只有點擊屬於vs專屬的.sln文件且vs對該項目的配置文件內容正確才可以正常打開該項目,否則這就是一個死的項目,不利於我們專注於對這門語言這種框架的學習
  • vs使項目的運行復雜化,使用vs更大的感覺是我在學習使用這個編輯器而不是這門語言,而等我熟練掌握了這個編輯器,便成了一個只會使用這一種編輯器的廢人

  總的來説,VS附帶了太多與開發無關的東西,不利於項目的開發和維護,也不利於我們對開發語言的學習,又有着結構臃腫的缺點,絕對不做任何語言開發(包括vs最引以為傲的C、C++)的推薦

第一個項目

  此處介紹脱離代碼編輯器條件下創建項目的過程

yarn init

  首先創建項目路徑,將項目目錄創建好後,將控制枱轉移至該路徑,使用命令

npm init

  或者yarn版本的(建議)

yarn init

  提示輸入任何項目有關信息按照提示來即可,執行完畢即可生成js項目的核心文件——

package.json

  首先要了解json格式數據以及文件

  其次介紹除望文生義即可理解的字段之外的幾個關鍵字段

  • main:整個項目的入口文件,即在該項目根目錄下運行node .所能識別的js
  • scripts:定義此項目可能用到的一些指令,常用例如:startbuildtest等,使用時,例如規定"start":"node .",在該項目根目錄下運行npm run startyarn run start即可,這樣做的好處在於可以精簡指令的表達,例如我現在有一個"build": "dotenv -e .env.frm -e .env react-scripts build"的指令,很明顯,我輸入yarn run build能使這條命令更容易理解且更方便
  • dependencies和devDependencies:帶善人記錄表(bushi),這裏規定此項目需要用到的全部外部依賴名稱及其版本號,package.json的版本號有一些符號的規定,詳見這篇博客,dev和不帶dev依賴的區別可以查看此博客(其實區別不大)

關鍵項目結構

node_modules

  外部調用的好心人們寫的開源依賴包的存放路徑,此處文件一般由yarn/npm託管,不建議做任何改動

src

  此路徑存放項目全部源代碼

.env

  此文件中編寫項目所需全部環境變量(其實可以直接修改電腦中環境變量,但是多個變量多個項目切換時便得不償失了),需要配合dotenv這個模組來使用(yarn add dotenv

readme.md

  一個好的項目不僅要電腦能看懂,更重要的是地球人能看懂,項目的介紹文檔也是需要認真編寫的,markdown的語法比較簡單,可以在此查看

輸入輸出

  js的控制枱輸出即為簡單的console.log()函數,各種翻新花樣的控制枱輸出方式npm中找各好心人寫的開源包即可;控制枱輸入在此不做介紹,因為大部分時候用不上;

引用第一個好心人寫的包

  js程序如果要引用別人的包

  1. package.json的dependencies要有這個包的聲明
  2. node_modules裏要有這個包的資源

  第一種引用方法便是:例如我要安裝express,在package.json的dependencies中添加包名express以及其版本號^4.17.1,隨後在當前目錄下的控制枱中輸入npm install express@4.17.1 -s npm install即可安裝;

  那麼問題來了,知道有這個包,不知道他有哪些版本或者需要哪個版本怎麼辦?

  問得好,當然是在npm或者GitHub上搜一下這個包,現場查看一下版本號了

  但是每次都這麼來一下未免太麻煩了,於是yarn很好的解決了這個問題,直接在控制枱運行yarn add express,默認為你安裝最新的版本(非測試版),並自動修改你的package.json,並將其版本號改為^格式

  最後説點題外話,互聯網的公開、開源精神是一種很寶貴的精神,GitHub、npm、maven這類的開源社區便是這種精神最好的體現的地方。世界需要有每個人出的一份力才能變成更好的世界,這才是互聯網誕生的初衷,就是聯通世界;遇到困難不要愧於接受別人的幫助,遵守開源協議就好,同時也不要吝嗇自己給別人的幫助,儘自己的力為開源社區貢獻代碼,不白眼每一個新手,換句話説,大家都是臭寫代碼的,沒有高低貴賤,互相扶持才能都寫出來好的代碼

創建第一個後台程序

  此處以express服務器為例,使用nodejs原生支持的es5語法

const express=require('express') // es調包的方式,es6為import

const app=express()//使用express這個函數

app.get("/",async (req,res)=>{res.send("hello word")})//創建一個默認接口;async 為異步函數的標記,後期講解;此處使用箭頭格式定義函數

app.listen(8080)//監聽8080端口

console.log("success")//成功提示
  • js行末可以不寫分號;,如果認為影響美觀可以通過設置eslint修改
  • 將此文件命名為index.js,放在package.json同級目錄下(注意設置package.json中的mainindex.js
  • 當前目錄的控制枱中運行node .,或配置package.json中scripts
"scripts":{
    "start":"node ."
}

  使用命令yarn run start

  控制枱輸出success,即為運行成功

  此時打開瀏覽器,輸入鏈接localhost:8080,看到hello word字樣,即為啓動成功

  此時,第一個node後台服務器已搭建完畢

user avatar pengxiaohei 頭像 yinzhixiaxue 頭像 savokiss 頭像 vleedesigntheory 頭像 zourongle 頭像 zhaobuhui 頭像 u_17443142 頭像 shuirong1997 頭像 jiavan 頭像 zzd41 頭像 zxl20070701 頭像 evenboy 頭像
點贊 108 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.