乐趣区

关于javascript:第一个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 后盾服务器已搭建结束

退出移动版