当前位置: 首页 > news >正文

【前端工程化】环境搭建 nodejs npm

文章目录

  • 前端工程化是什么?
  • 前端工程化实现技术栈
  • 前端工程化环境搭建 :
  • 什么是Nodejs
  • 如何安装nodejs
  • npm 配置和使用
    • npm 介绍
    • npm 安装和配置
    • npm 常用命令
  • 总结


前端工程化是什么?

前端工程化是使用软件工程的方法单独解决前端的开发流程中模块化、组件化、规范化、自动化的问题,其主要目的为了提高效率和降低成本。

前端工程化实现技术栈

前端工程化实现的技术栈有很多,这里采用ES6+nodejs+npm+Vite+VUE3+router+pinia+axios+Element-plus组合来实现

  • ECMAScript6 VUE3中大量使用ES6语法
  • Nodejs 前端项目运行环境
  • npm 依赖下载工具
  • vite 前端项目构建工具
  • VUE3 优秀的渐进式前端框架
  • router 通过路由实现页面切换
  • pinia 通过状态管理实现组件数据传递
  • axios ajax异步请求封装技术实现前后端数据交互
  • Element-plus 可以提供丰富的快速构建网页的组件仓库

前端工程化环境搭建 :

什么是Nodejs

  • Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,可以使 JavaScript 运行在服务器端。
  • 使用 Node.js,可以方便地开发服务器端应用程序,如 Web 应用、API、后端服务,
  • 还可以通过 Node.js 构建命令行工具等。
  • 相比于传统的服务器端语言(如 PHP、Java、Python 等),Node.js 具有以下特点:
  • 单线程,但是采用了事件驱动、异步 I/O 模型,可以处理高并发请求。
  • 轻量级,使用 C++ 编写的 V8 引擎让 Node.js 的运行速度很快。
  • 模块化,Node.js 内置了大量模块,同时也可以通过第三方模块扩展功能。
  • 跨平台,可以在 Windows、Linux、Mac 等多种平台下运行。
  • Node.js 的核心是其管理事件和异步 I/O 的能力。
  • Node.js 的异步 I/O 使其能够处理大量并发请求,并且能够避免在等待 I/O 资源时造成的阻塞。
  • 此外,Node.js 还拥有高性能网络库和文件系统库,可用于搭建 WebSocket 服务器、上传文件等。
  • 在 Node.js 中,我们可以使用 JavaScript 来编写服务器端程序,这也使得前端开发人员可以利用自己已经熟悉的技能来开发服务器端程序,同时也让 JavaScript 成为一种全栈语言。
  • Node.js 受到了广泛的应用,包括了大型企业级应用、云计算、物联网、游戏开发等领域。
  • 常用的 Node.js 框架包括 Express、Koa、Egg.js 等,它们能够显著提高开发效率和代码质量。

如何安装nodejs

  1. 打开 node官网 下载对应操作系统的 LTS 版本。
  2. 双击安装包进行安装,安装过程中遵循默认选项即可(或者参照菜鸟安装教程 )。
  3. 安装完成后,可以在命令行终端输入 node -vnpm -v 查看 Node.js 和 npm 的版本号。
    6
  4. 定义一个app.js文件,cmd到该文件所在目录,然后在dos上通过node app.js命令即可运行
function sum(a,b){return a+b;
}
function main(){console.log(sum(10,20))
}
main()

6

npm 配置和使用

npm 介绍

  • NPM全称 Node Package Manager
  • Node.js包管理工具,是全球最大的模块生态系统,里面所有的模块都是开源免费的;
  • 也是Node.js的包管理工具相当于后端的Maven

npm 安装和配置

  1. 安装完 node,会自动安装npm包管理工具!
  1. 配置依赖下载使用 阿里镜像 or 官方源
  • 查看 npm 安装依赖包的仓库:(默认是官方源
npm config get registry

1

  • 下载慢可以改成 阿里镜像 的源仓库,具体操作如下::
npm config set registry https://registry.npmmirror.com
  • 恢复官方源:
npm config set registry https://registry.npmjs.org/
  1. 配置全局依赖下载后存储位置设置
  • 查看 本地依赖下载的位置 :
npm config get prefix

在这里插入图片描述

  • 在 Windows 系统上,npm 的全局依赖默认安装在 <用户目录>\AppData\Roaming\npm 目录下
  • 如果需要修改全局依赖的安装路径,可以按照以下步骤操作:
    1. 创建一个新的全局依赖存储目录,例如 D:\GlobalNodeModules
    1. 打开命令行终端,执行以下命令来配置新的全局依赖存储路径:
npm config set prefix "D:\GlobalNodeModules"
    1. 使用命令查看,确认配置已生效

4.升级npm版本

  • cmd 输入npm -v 查看版本
  • 如果node中自带的npm版本过低!则需要升级至9.6.6!
npm install -g npm@9.6.6

npm 常用命令

  1. 项目初始化
  • npm init
    • 进入一个vscode创建好的项目中, 执行 npm init 命令后,npm 会引导您在命令行界面上回答一些问题,
    • 例如项目名称、版本号、作者、许可证等信息,并最终生成一个package.json 文件。
    • package.json信息会包含项目基本信息!
    • 类似maven的pom.xml
  • npm init -y
    • 执行,-y yes的意思,所有信息使用当前文件夹的默认值!不用挨个填写!
  1. 安装依赖 (查看所有依赖地址 https://www.npmjs.com )
  • npm install 包名 或者 npm install 包名@版本号
    • 安装包或者指定版本的依赖包(安装到当前项目中)
  • npm install -g 包名
    • 安装全局依赖包(安装到d:/GlobalNodeModules)则可以在任何项目中使用它,而无需在每个项目中独立安装该包。
  • npm install
    • 安装package.json中的所有记录的依赖
  1. 升级依赖
  • npm update 包名
    • 将依赖升级到最新版本
  1. 卸载依赖
  • npm uninstall 包名
  1. 查看依赖
  • npm ls

    • 查看项目依赖
  • npm list -g

    • 查看全局依赖
  1. 运行命令
  • npm run 命令是在执行 npm 脚本时使用的命令。

    • npm 脚本是一组在 package.json 文件中定义的可执行命令。
    • npm 脚本可用于启动应用程序,运行测试,生成文档等,还可以自定义命令以及配置需要运行的脚本。
  • 在 package.json 文件中,scripts 字段是一个对象,其中包含一组键值对,键是要运行的脚本的名称,值是要执行的命令。

    • 例如,以下是一个简单的 package.json 文件:
{"name": "my-app","version": "1.0.0","scripts": {"start": "node index.js","test": "jest","build": "webpack"},"dependencies": {"express": "^4.17.1","jest": "^27.1.0","webpack": "^5.39.0"}
}
  • scripts 对象包含 start、test 和 build 三个脚本。
    • 当运行 npm run start 时,将运行 node index.js,并启动应用程序。
    • 同样,运行 npm run test 时,将运行 Jest 测试套件,
    • npm run build 将运行 webpack 命令以生成最终的构建输出。
  • 总之,npm run 命令提供了一种在 package.json 文件中定义和管理一组指令的方法,可以在项目中快速且灵活地运行各种操作。

总结

1

相关文章:

【前端工程化】环境搭建 nodejs npm

文章目录 前端工程化是什么&#xff1f;前端工程化实现技术栈前端工程化环境搭建 &#xff1a;什么是Nodejs如何安装nodejsnpm 配置和使用npm 介绍npm 安装和配置npm 常用命令 总结 前端工程化是什么&#xff1f; 前端工程化是使用软件工程的方法来单独解决前端的开发流程中模块…...

在VM虚拟机搭建NFS服务器

NFS共享要求如下&#xff1a; &#xff08;1&#xff09;共享“/mnt/自已姓名的完整汉语拼音”目录&#xff0c;允许XXX网段的计算机访问该共享目录&#xff0c;可进行读写操作。&#xff08;说明&#xff1a;XXX网段&#xff0c;请根据你的规划&#xff0c;再具体指定&#xf…...

springboot并mybatis入门启动

pom.xml,需要留意jdk的版本&#xff08;11&#xff09;和springboot版本要匹配&#xff08;2.7.4&#xff09;&#xff0c;然后还要注意mybatis启动l类的版本&#xff08;2.2.2&#xff09; <?xml version"1.0" encoding"UTF-8"?> <project xm…...

什么是单例模式与饿汉式单例模式的区别是什么?

什么是单例模式与饿汉式单例模式的区别是什么&#xff1f; 单例模式和饿汉式单例模式都是软件设计模式&#xff0c;它们的区别在于实例的创建时间和线程安全性。 单例模式是一种设计模式&#xff0c;确保一个类只有一个实例&#xff0c;并提供一个全局访问点。单例模式可以保…...

【数据结构】认识数据结构 (通俗解释)

目录 1.认识数据结构 1.1 什么是数据结构 1.1.1 什么是数据&#xff1f; 1.1.2 什么是结构&#xff1f; 1.1.3 通俗比喻&#xff1a; 1.1.4 标准概念概念定义&#xff1a; 1.2为什么需要数据结构&#xff1f; 1.认识数据结构 1.1 什么是数据结构 数据结构是由"数…...

C语言——深入理解指针(1)

目录 1.内存和地址 a 内存的理解 b 如何理解编址 2.指针变量和地址 a 取地址操作符 b 指针变量 c 解引用操作符 d 指针变量的大小 1.内存和地址 a 内存的理解 假想这样一个场景&#xff0c;你的朋友找你玩&#xff0c;到了你家小区&#xff0c;如何让她迅速的找到…...

MySQL原理(五)事务

一、介绍&#xff1a; 1、介绍&#xff1a; 在计算机术语中&#xff0c;事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务是恢复和并发控制的基本单位。 2、事务的4大特性 原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性…...

算法学习——华为机考题库4(HJ26 - HJ30)

算法学习——华为机考题库4&#xff08;HJ26 - HJ30&#xff09; HJ26 字符串排序 描述 编写一个程序&#xff0c;将输入字符串中的字符按如下规则排序。 规则 1 &#xff1a;英文字母从 A 到 Z 排列&#xff0c;不区分大小写。 如&#xff0c;输入&#xff1a; Type 输出…...

STM32学习笔记(三) —— GPIO点亮LED

1.GPIO简介 GPIO&#xff0c;全称是General-purpose input/output&#xff08;通用输入输出&#xff09;。在单片机中是表示能被控制的引脚&#xff0c;能检测输入信号的高低电平&#xff0c;也能输出高低电平控制外部设备。STM32F103RCT6一共有64个引脚&#xff0c;其中有51个…...

gRPC使用详解

起源特点主要优缺点应用场景组成部分使用方法SpringBoot集成gRPCVert.x集成gRPCNacos集成gRPC监控gRPC调用过程Java使用示例 起源 gRPC的起源可以追溯到2015年&#xff0c;当时谷歌发布了一款开源RPC框架&#xff0c;名为gRPC。gRPC的设计初衷是为了提供一种标准化、可通用和跨…...

海康威视有插件、无插件播放;webrtc直播;西瓜视频播放器;mpegts.js直播;flvjs直播

Notes 视频播放的几种方式 一、Video mp4链接直接播放 二、海康威视3.3插件版直播、云台控制&#xff0c;资源下载地址 index.html引入hk文件中的js文件双击HCWebSDKPlugin.exe安装插件前端参照文件夹hkCamera中的示例代码 三、海康威视3.2无插件版直播&#xff0c;资源下…...

测试工作(新入职)感悟

背景&#xff1a;我之前在小规模传统公司&#xff0c;工作强度一般&#xff0c;早九晚六&#xff0c;偶尔加班。现在就职的是大型同行业互联网公司&#xff0c;工作强度大&#xff0c;早九晚九&#xff0c;目前已经入职两个礼拜。 基于这个背景&#xff0c;新工作对我是比较有…...

hivesql的基础知识点

目录 一、各数据类型的基础知识点 1.1 数值类型 整数 小数 float double(常用) decimal(针对高精度) 1.2 日期类型 date datetime timestamp time year 1.3 字符串类型 char varchar / varchar2 blob /text tinyblob / tinytext mediumblob / mediumtext lon…...

Linux下的线程操作

一、多线程的创建于退出 1. pthread_create(线程的创建) pthread_create 是 POSIX 线程库中的函数&#xff0c;用于创建一个新的线程。 函数原型如下&#xff1a; int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine) (void *), void…...

机器学习 | 如何利用集成学习提高机器学习的性能?

目录 初识集成学习 Bagging与随机森林 Otto Group Product(实操) Boosting集成原理 初识集成学习 集成学习&#xff08;Ensemble Learning&#xff09;是一种通过组合多个基本模型来提高预测准确性和泛化能力的机器学习方法。它通过将多个模型的预测结果进行整合或投票来做…...

[Python] 什么是PCA降维技术以及scikit-learn中PCA类使用案例(图文教程,含详细代码)

什么是维度&#xff1f; 对于Numpy中数组来说&#xff0c;维度就是功能shape返回的结果&#xff0c;shape中返回了几个数字&#xff0c;就是几维。索引以外的数据&#xff0c;不分行列的叫一维&#xff08;此时shape返回唯一的维度上的数据个数&#xff09;&#xff0c;有行列…...

npm 淘宝镜像正式到期,更新使用成功

npm 淘宝镜像原网址&#xff1a;https://registry.npm.taobao.org/ npm 淘宝镜像更新后网址&#xff1a;https://registry.npmmirror.com 过程&#xff1a; 部署 nuxt docker 容器的时候&#xff0c;报以下错&#xff1a; npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CE…...

python_蓝桥杯刷题记录_笔记_全AC代码_入门2

前言 现在正式进入蓝桥杯的刷题啦&#xff0c;用python来做算法题&#xff0c;因为我之前其实都是用C来做题的&#xff0c;但是今年的话我打算换python来试试&#xff0c;很明显因为也才这学期接触python 加上之前C做题也比较菜&#xff0c;所以我打算用python重新来做题&#…...

备战蓝桥杯---数据结构与STL应用(入门4)

本专题主要是关于利用优先队列解决贪心选择上的“反悔”问题 话不多说&#xff0c;直接看题&#xff1a; 下面为分析&#xff1a; 很显然&#xff0c;我们在整体上以s[i]为基准&#xff0c;先把士兵按s[i]排好。然后&#xff0c;我们先求s[i]大的开始&#xff0c;即规定选人数…...

2023_12蓝桥杯STEMA 考试 Scratch 中级试卷解析

2023蓝桥杯STEMA 考试 Scratch 中级试卷(12 月)解析 由于没有原始文件,这里使用的角色和背景和实际题目会有所差异,已经尽量还原原题,以下代码仅供参考。吐槽一句:蓝桥杯越来越变态了!\(`Δ’)/\(`Δ’)/\(`Δ’)/孩子学习速度永远也赶不上内卷的速度。 一、选择…...

VSCode + WSL2开发环境搭建:Windows10下的高效Linux开发体验

VSCode WSL2开发环境搭建&#xff1a;Windows10下的高效Linux开发体验 在Windows系统上进行Linux开发一直是件令人头疼的事情——双系统切换麻烦&#xff0c;虚拟机性能堪忧&#xff0c;远程服务器又受限于网络环境。直到微软推出WSL2&#xff08;Windows Subsystem for Linux…...

Navicat Premium 17 创建触发器保姆级教程

前言&#xff1a;触发器是MySQL中极具实用性的数据库对象&#xff0c;核心作用是“当表发生INSERT/UPDATE/DELETE操作时&#xff0c;自动执行预设SQL”&#xff0c;无需手动调用、无需程序介入&#xff0c;常用于自动填充时间、数据同步、日志记录、数据校验等场景。Navicat Pr…...

利用快马平台ai辅助,十分钟搭建rnn文本情感分析原型

今天想和大家分享一个快速验证RNN模型的小技巧——用InsCode(快马)平台十分钟搭建文本情感分析原型。作为NLP领域最经典的序列模型&#xff0c;RNN在实际应用中常需要反复调整结构&#xff0c;传统开发流程从环境配置到模型调试往往需要半天时间&#xff0c;而通过AI辅助工具可…...

9.7%年复合增长率!内容安全审查平台未来六年发展路径清晰,市场潜力凸显

在数字内容呈指数级增长、全球网络监管政策趋严的背景下&#xff0c;内容安全审查平台作为保障数字空间合规性的核心工具&#xff0c;正经历从“规则驱动”向“AI智能驱动”的范式转型。据恒州诚思调研统计&#xff0c;2025年全球市场规模达179.3亿元&#xff0c;预计至2032年将…...

微信小程序里H5加载慢?试试这个隐藏web-view的预加载技巧(附完整代码)

微信小程序H5预加载实战&#xff1a;隐藏web-view的极致优化方案 每次打开小程序里的H5页面都要盯着白屏发呆&#xff1f;作为开发者&#xff0c;我们最怕用户因为加载慢而流失。今天要分享的这个隐藏web-view预加载技巧&#xff0c;能让你的H5页面实现"秒开"效果。不…...

仅限首批200家技术中台团队获取:Python MCP企业级模板V3.2(含华为MetaEngine兼容补丁+信创OS适配矩阵表)

第一章&#xff1a;Python MCP企业级模板V3.2的核心定位与战略价值 Python MCP&#xff08;Modular Component Protocol&#xff09;企业级模板V3.2并非通用脚手架&#xff0c;而是面向中大型组织构建高一致性、强可审计、低运维熵值服务架构的标准化交付内核。其核心定位在于弥…...

新手入门指南:在快马平台上用openclaw重启版本实现首个爬虫项目

最近在学习网络爬虫&#xff0c;发现openclaw重启版本对新手特别友好&#xff0c;于是尝试在InsCode(快马)平台上做了一个简单的新闻头条抓取项目。整个过程比想象中顺利&#xff0c;分享下我的学习路径和踩坑经验。 环境准备与库安装 传统爬虫项目最头疼的就是环境配置&#x…...

UE6.5调试性能对比实测:Clang 19 vs MSVC 17.12 vs GCC 14.2(C++27特性支持度+调试信息完整性双维度TOP1)

第一章&#xff1a;UE6.5 C27 调试能力演进与基准定位Unreal Engine 6.5 首次原生支持 C27 标准子集&#xff0c;并深度整合了 Clang 18 的调试元数据增强特性&#xff0c;显著提升了符号解析精度与运行时诊断能力。相比 UE5.4 中基于 DWARF-5 的有限 C20 支持&#xff0c;UE6.…...

计算机毕业设计:Python智慧航班数据大屏及管理后台 Django框架 可视化 MLP 大数据 机器学习 深度学习(建议收藏)✅

1、项目介绍 技术栈 采用 Python 3.10 编程语言&#xff0c;基于 Django 框架进行后端开发&#xff0c;前端使用 Echarts 可视化技术搭建数据大屏&#xff0c;并结合多层感知器&#xff08;MLP&#xff09;神经网络模型实现航班延误状态与机票价格的预测功能。 功能模块飞机航…...

用快马AI十分钟搭建班级宠物园应用下载页,快速验证教育产品原型

最近在帮小学老师朋友设计一个班级宠物园应用&#xff0c;想快速验证这个教育产品的可行性。传统开发流程太耗时&#xff0c;于是尝试用InsCode(快马)平台的AI生成功能&#xff0c;十分钟就搭出了可交互的下载页原型。分享下具体实现思路&#xff1a; 需求拆解与框架搭建 先明确…...