技术实践干货:从零开始创建Node.js应用

news2024/11/15 20:55:34

作为一个程序员,我们常常会有很多想法和创意,然后用技术实现出来,这是一个很有成就感的事情。

在实践过程中,会发现很多想法都不能很好地落地,可能是技术、可能是团队氛围等等,于是就开始想着能够不能有一个框架去承载这些想法。

其实在Node. js这个框架下就能很好地实现这样的功能了。Node.js 是一个用于构建服务端应用程度的开源JavaScript运行环境。它提供了一系列有用的特性,如废阻塞I/O、活动事件驱动的网络服务及性能优异的JavaScript运行时环境。本文将重点介绍如何安装Node.js 及实现从零开始创建Node.js 应用的步骤。

 

安装Node.js

Node是一个轻量级的前端框架,它非常灵活,能够支持大量的功能,比如 JS、 CSS等。如果你已经在使用 FB、 PHPStorm或者 React之类的前端框架,那么可以不用自己去开发前端应用了。

Node. js是基于 JavaScript (主要是 Angular)语言构建的,而 Angular是目前最流行的前端框架。而在安装 Node. js时可以使用 CSS来格式化页面,安装的话可以直接前往官网进行安装下载。

如果你不会写代码或者对代码有一定程度的了解也不用担心。

 

安装步骤

1.在文件夹中创建一个settings.pr ot oc er,默认是 exploit;

2.打开 nodejs官网,在左侧的选项卡中找到 Node. js选项;

3.勾选 Initialize。进入 node. js环境变量设置界面;

4.在右边的 Download下拉框中选择安装的路径,这里要注意一下 nodejs目录下需要有一个 settings文件夹,我们可以通过点击修改配置文件来创建新的配置文件。下载完成后打开配置文件。

创建Node.js应用

在此步骤中,我们将创建一个基本的Node.js 应用程序,并确保它在计算机上运行。

1.使用Express 生成器创建一个 Node.js 应用程序,该生成器默认随 Node.js 和 NPM 一起安装。

npx express-generator myExpressApp --view ejs

2.更改为应用程序的目录并安装NPM 包。

cd myExpressApp && npm install

3.使用调试信息启动开发服务器。

DEBUG=myexpressapp:* npm start

4.在浏览器中导航到http://localhost:3000。

 

新建模块

在浏览器中输入项目名称,然后点击“选项”按钮,弹出框后选择“应用”,在下拉框中选择“node. js”

提示:了避免出现下载的包不存在或者不完整的情况,要在应用目录下加一个文件夹,命名为backup. exe。然后点击“保存”按钮。

然后点击右边的“+”号按钮增加一个新的模块(也就是项目);

打开后可以看到我们刚刚创建好的项目(注意:你只有这个应用,没有其他任何模块);

新创建好的项目在这里是无法运行的,但是我们可以用它来做一些基本操作和功能使用;

鼠标移到代码面板上点击“代码编辑器”按钮(图中标注出来的位置)来复制代码。

 

配置应用服务应用并部署代码

部署到Linux

1.选择myExpressApp 文件夹。

2.右键单击应用服务并选择“创建新的 Web 应用”。 默认情况下使

3.用Linux 容器。

4.键入Web 应用的全局唯一名称,然后按 Enter。 该名称必须在整个 Azure 中保持唯一,且只能使用字母数字字符(“A-Z”、“a-z”和“0-9”)和连字符(“-”)。

5.在“选择运行时堆栈”中,选择所需的 Node.js 版本。 建议使用 LTS 版本。

6.在“选择定价层”中,选择“免费(F1)”并等待资源在 Azure 中完成创建。

7.在弹出窗口“始终将工作区‘myExpressApp’部署到 <app-name>”中,选择“是”。 这样,主要在同一工作区中,Visual Studio Code 便可以每次部署到同一应用服务应用。

8.当Visual Studio Code 创建 Azure 资源并部署代码时,它会显示进度通知。

9.部署完成后,从通知弹出窗口中选择“浏览网站”。 浏览器应显示 Express 默认页。

部署到Windows

1.选择myExpressApp 文件夹。

2.右键单击应用服务并选择“创建新的 Web 应用…高级”。

3.键入Web 应用的全局唯一名称,然后按 Enter。 该名称必须在整个 Azure 中保持唯一,且只能使用字母数字字符(“A-Z”、“a-z”和“0-9”)和连字符(“-”)。

4.选择“创建新的资源组”,然后输入资源组的名称,例如“AppServiceQS-rg”。

5.选择所需的Node.js 版本。 建议使用 LTS 版本。

6.选择Windows 作为操作系统。

7.选择要为应用提供服务的位置。例如“亚洲”。

8.选择“创建新的应用服务计划”,输入该计划的名称(例如“AppServiceQS-plan”),然后选择“F1 免费”作为定价层。

9.对于“为应用选择 Application Insights 资源”,选择“暂时跳过”,然后等待资源在 Azure 中完成创建。

10.在弹出窗口“始终将工作区‘myExpressApp’部署到 <app-name>”中,选择“是”。 这样,只要在同一工作区中,Visual Studio Code 便可以每次部署到同一应用服务应用。

当Visual Studio Code 创建 Azure 资源并部署代码时,它会显示进度通知。

备注:部署完成后,Azure 应用还未运行,因为项目根目录没有 web.config。请按照其余步骤自动生成它。 有关详细信息,请参阅无权查看此目录或页。

小结

写了这么多,可能大家看完后,也会觉得Node. js这个东西很神奇。其实这些东西不是什么神秘的黑科技,就是简单的代码。但是只要你熟悉了它,理解了它背后的原理和逻辑,就能更好地利用它来解决自己想要解决的问题了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/351795.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

类内默认函数

目录 前言&#xff1a; 1. 构造函数 1.1 概念 1.2 特性 1&#xff09; 2&#xff09; 2. 析构函数 2.1 概念 2.2 特性 3. 拷贝构造 3.1 概念 3.2 特征 4. 赋值运算符重载 4.1 运算符重载 4.2 赋值运算符重载 5.3 前置和后置的重载 前言&#xff1a; 问&#xf…

AI智能机器人,在这里也可以体验~

“大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。”现在是&#xff1a;2023年2月17日00:14:42前言最近AI智能chatgpt特别的火&#xff0c;相信好多人都已经体验过了&#xff0c;之前我的群里也接入过&#xff0c;奈何总是收到警告和限制…

泛微发布内外协同的客服管理系统-睦客邻

客户服务是企业业务环节中的关键一环&#xff0c;也是确保客户最终满意度的关键一环。好的客户服务是一个组织能持续经营的有力保证。 如何让客服成为客户的好邻里&#xff0c;让客户真实地感受到全方位的服务&#xff0c;从而让组织的服务产生力量和价值。企业对客服有着系统…

LV8731V-TLM-H 带保护步进电机驱动器特性简述

LV8731V-TLM-H是一个2−通道H−桥驱动器IC&#xff0c;它可以切换步进电机驱动器和两个有刷电机驱动器&#xff0c;前者支持1/16−步进分辨率的微步进驱动&#xff0c;后者支持电机的前进、后退、制动和待机。它非常适合驱动办公室设备和娱乐应用中使用的刷直流电机和步进电机。…

Web--Maven

1.maven管理项目的区别 2. 安装后&#xff0c;conf目录下的setting文件中&#xff0c;对本地仓库的配置 此处可替换成自定义的本地仓库地址&#xff0c;默认为c:/user/17860/.m2/repository(我的电脑上的&#xff09; 3.maven项目的标准目录结构 4.项目的生命周期 5.Maven概…

内网渗透(三十七)之横向移动篇-Pass the Hash 哈希传递攻击(PTH)横向移动

系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…

面试攻略,Java 基础面试 100 问(七)

String 是最基本的数据类型吗? 不是。Java 中的基本数据类型只有 8 个&#xff1a;byte、short、int、long、float、 double、char、boolean&#xff1b;除了基本类型&#xff08;primitive type&#xff09;和枚举类型&#xff08;enumeration type&#xff09;&#xff0c…

分享一个外贸客户案例

春节期间一个外贸人收到了客户的回复&#xff0c;但因为自己的处理方式造成了一个又一个问题&#xff0c;我们可以从中学到一些技巧和知识。“上次意大利的客人询价后&#xff0c;一直没回复&#xff08;中间有打过电话&#xff0c;对方说口语不行&#xff0c;我写过邮件跟进过…

数据结构与算法之二分查找分而治之思想

决定我们成为什么样人的&#xff0c;不是我们的能力&#xff0c;而是我们的选择。——《哈利波特与密室》二分查找是查找算法里面是很优秀的一个算法&#xff0c;特别是在有序的数组中&#xff0c;这种算法思想体现的淋漓尽致。一.题目描述及其要求请实现无重复数字的升序数组的…

论文阅读笔记《DEEP GRAPH MATCHING CONSENSUS》

核心思想 本文提出一种基于图神经网络的图匹配方法&#xff0c;首先利用节点相似度构建初始的匹配关系&#xff0c;然后利用局部的一致性对初始的匹配关系进行迭代优化&#xff0c;不断筛除误匹配点&#xff0c;得到最终的匹配结果。本文还提出几种措施来降低计算复杂度&#x…

SpringBoot学习总结2

1、配置文件 1.1、配置文件类型 properties yaml 优点&#xff1a;比起xml而言&#xff0c;语法更简洁&#xff0c;更轻量级。非常适合用来做以数据为中心的配置文件 基本语法 key: value&#xff1b;:后面要跟一个空格大小写敏感使用缩进表示层级关系缩进不允许使用tab&…

内存屏障1

内存屏障 引入 我们知道 volatile 能保证 JMM约束的 可见性和有序性。 关于有序性&#xff0c;到底该如何理解&#xff1f; 有序性的根本保证&#xff0c;就是 禁止指令重排序 重排序&#xff1a; 重排序是指 编译器和处理器 为了优化程序性能 而对指令序列进行重新排序…

万字讲解你写的代码是如何跑起来的?

今天我们来思考一个简单的问题&#xff0c;一个程序是如何在 Linux 上执行起来的&#xff1f; 我们就拿全宇宙最简单的 Hello World 程序来举例。 #include <stdio.h> int main() {printf("Hello, World!\n");return 0; } 我们在写完代码后&#xff0c;进行…

【THREE.JS学习(1)】绘制一个可以旋转、放缩的立方体

学习新技能&#xff0c;做一下笔记。在使用ThreeJS的时候&#xff0c;首先创建一个场景const scene new THREE.Scene();接着&#xff0c;创建一个相机其中&#xff0c;THREE.PerspectiveCamera&#xff08;&#xff09;四个参数分别为&#xff1a;1.fov 相机视锥体竖直方向视野…

算法拾遗二十六之暴力递归到动态规划五

算法拾遗二十五之暴力递归到动态规划五题目一&#xff08;返回K次打击后英雄把怪兽砍死的几率&#xff09;【样本对应模型&#xff0c;N和K是样本】题目二&#xff08;返回组成aim的最少货币数&#xff09;从左往右尝试模型题目三&#xff08;返回裂开的数的种类&#xff09;题…

【Kotlin】Kotlin函数那么多,你会几个?

目录标准函数letrunwithapplyalsotakeIftakeUnlessrepeat小结作用域函数的区别作用域函数使用场景简化函数尾递归函数&#xff08;tailrec&#xff09;扩展函数高阶函数内联函数&#xff08;inline&#xff09;inlinenoinlinecrossinline匿名函数标准函数 Kotlin标准库包含几个…

CUDA的统一内存

CUDA的统一内存 文章目录CUDA的统一内存N.1. Unified Memory IntroductionN.1.1. System RequirementsN.1.2. Simplifying GPU ProgrammingN.1.3. Data Migration and CoherencyN.1.4. GPU Memory OversubscriptionN.1.5. Multi-GPUN.1.6. System AllocatorN.1.7. Hardware Coh…

如何学习 Web3

在本文中&#xff0c;我将总结您可以采取的步骤来学习 Web3。从哪儿开始&#xff1f;当我们想要开始新事物时&#xff0c;我们需要一些指导&#xff0c;以免在一开始就卡住。但我们都是不同的&#xff0c;我们有不同的学习方式。这篇文章基于我学习 Web3 的非常个人的经验。路线…

SpringBoot集成WebSocket实现客户端与服务端长连接通信

场景&#xff1a; WebSocket协议是用于前后端长连接交互的技术&#xff0c;此技术多用于交互不断开的场景。特点是连接不间断、更轻量&#xff0c;只有在关闭浏览器窗口、或者关闭浏览器、或主动close&#xff0c;当前会话对象才会关闭。 这里只是简单的记录一下使用方式 一、服…

Proxy lab

CSAPP Proxy Lab 本实验需要实现一个web代理服务器&#xff0c;实现逐步从迭代到并发&#xff0c;到最终的具有缓存功能的并发代理服务器。 Web 代理是充当 Web 浏览器和终端服务器之间的中间人的程序。浏览器不是直接联系终端服务器获取网页&#xff0c;而是联系代理&#x…