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

node.js+NPM包管理器+Webpack打包工具+前端项目搭建

javascript运行环境(无需依赖html文件)

BFF,服务于前端的后端

官网下载安装,node -v查看是否安装成功

①、创建一个01.js文件

//引入http模块
const http=require('http')//创建服务器
http.createServer(function(request,response){//发送HTTP头部//HTTP状态值:200:OK//内容类型 text/plainresponse.writeHead(200,{'Content-Type':'text/html'});response.end('<h1>Hello Node.js Server</h1>');
}).listen(8888);//终端打印
console.log('Server running at http://127.0.0.1:8888')

②、通过CMD命令执行(或者通过工具的集成终端)

node 01.js

如果出现权限原因,可以通过管理员方式打开工具
在这里插入图片描述
在这里插入图片描述

③、通过浏览器访问http://127.0.0.1:8888

NPM包管理工具

如同后端的maven

一、安装

安装node.js之后,自动安装了包管理工具

二、npm -v 查看是否安装成功

三、创建一个文件夹,项目初始化

npm init (或者直接使用npm init -y 直接一步到位初始化)

如下所示:在npmdemo文件夹下,通过命令npm init初始化后,生成的package.json文件(相当于pom.xml)
在这里插入图片描述

四、更改镜像

在终端中输入:npm config set registry https://registry.npm.taobao.org
npm config list 查看是否修改成功

五、下载依赖测试

npm install jquery 下载jquery(默认下载最新版本,也可以npm install jquery@2.1 下载指定2.1版本)

六、根据配置文件,下载依赖

npm install

Webpack打包工具

将多种静态资源js/css/less转化成一个静态文件,减少页面的请求
在这里插入图片描述

一、安装webpack工具

npm install -g webpack webpack-cli

npm install -g webpack
npm install -g webpack-cli

查看是否安装成功
webpack -v

二、创建一个src目录(内部创建一个01.js和02.js)
在这里插入图片描述
01.js

exports.info=function(str){document.write(str)
}

02.js

exports.add = function(a,b){return a+b
}

在创建一个main.js

//采用ES5的方式
const a = require('./01.js')
const b = require('./02.js')a.info('hello'+b.add(1,2))

三、创建一个固定的配置文件webpack.config.js
在这里插入图片描述

const path = require("path") //Node.js内置模块
module.exports={entry:'./src/main.js',//配置入口文件output:{path: path.resolve(__dirname,'./dist'),//输出路径filename: bundle.js //输出文件}
}

执行编译命令
webpack --mode=development

四、测试(通过浏览器进行查看)

<script src="./dist/bundle.js"></script>

CSS打包

一、安装插件

npm install -D style-loader css-loader

二、配置文件webpack.config.js

const path = require("path") //Node.js内置模块
module.exports={entry:'./src/main.js',//配置入口文件output:{path: path.resolve(__dirname,'./dist'),//输出路径filename: bundle.js //输出文件},module: {rules: [test: /\.css$/, //打包规则应用到css结尾的文件上use: ['style-loader','css-loader']]}
}

三、在src目录下创建一个style.css文件

body{background-color: red;
}

四、main.js文件中引入

const a = require('./01.js')
const b = require('./02.js')
require('./style.css')a.info('hello'+b.add(1,2))

五、执行打包命令

webpack --mode=development

==============================================

搭建前端环境

一、下载前端模块项目解压到本地工作区,通过工具打开

在这里插入图片描述

二、通过命令npm install

根据package.json下载所需依赖,生成一个mode_modles目录(内部就是所需的依赖)

三、启动搭建好的前端项目

npm run dev

通过浏览器进行访问
在这里插入图片描述

相关文章:

node.js+NPM包管理器+Webpack打包工具+前端项目搭建

javascript运行环境&#xff08;无需依赖html文件&#xff09; BFF&#xff0c;服务于前端的后端 官网下载安装&#xff0c;node -v查看是否安装成功 ①、创建一个01.js文件 //引入http模块 const httprequire(http)//创建服务器 http.createServer(function(request,respo…...

PCL点云处理之基于FPFH特征的全局配准流程具体实现(二百二十一)

PCL点云处理之基于FPFH特征的全局配准流程具体实现(二百二十一) 一、算法介绍二、算法实现1.代码2.效果一、算法介绍 PCL点云库提供的多种工具,可以组合为一套完整的点云配准流程,这里选择FPFH特征,进行具体的配准流程实现,主要内容包括点云读取、点云法线计算、点云特征…...

ai_drive67_基于不确定性的多视图决策融合

论文链接&#xff1a;https://openreview.net/forum?idOOsR8BzCnl5 https://arxiv.org/abs/2102.02051 代码链接&#xff1a;https://github.com/hanmenghan/TMC Zongbo Han, Changqing Zhang, Huazhu Fu, Joey Tianyi Zhou, Trusted Multi-View Classification, Internatio…...

Docker逃逸---procfs文件挂载

一、产生原因 将宿主机/proc目录挂载进了容器&#xff0c;而该目录内的/proc/sys/kernel/core_pattern文件是负责进程奔溃时内存数据转储的&#xff0c;当第一个字符是| 管道符时&#xff0c;后面的部分会以命令行的方式进行解析并运行&#xff0c;攻击者可以将恶意文件写入该…...

[Python小项目] 从桌面壁纸到AI绘画

从桌面壁纸到AI绘画 一、前言 1.1 确认问题 由于生活和工作需要&#xff0c;小编要长时间的使用电脑&#xff0c;小编又懒&#xff0c;一个主题用半年的那种&#xff0c;所以桌面壁纸也是处于常年不更换的状态。即时改变主题也是在微软自带的壁纸中选择&#xff0c;而这些自…...

【Docker 内核详解】namespace 资源隔离(五):User namespaces

【Docker 内核详解 - namespace 资源隔离】系列包含&#xff1a; namespace 资源隔离&#xff08;一&#xff09;&#xff1a;进行 namespace API 操作的 4 种方式namespace 资源隔离&#xff08;二&#xff09;&#xff1a;UTS namespace & IPC namespacenamespace 资源隔…...

网络原理必知会

衔接上文&#xff1a;网络原理必知会_念君思宁的博客-CSDN博客 流量控制&#xff1a; 流量控制也是保证可靠性的机制 对于滑动窗口&#xff0c;批量发送数据而言&#xff0c;窗口越大&#xff0c;相当于批量发送的数据越多&#xff0c;整体的速度也就越快了&#xff0c;但是&…...

ELK 日志分析系统介绍与部署

目录 一、ELK 简介: 1.开源工具介绍&#xff1a; 2.其它组件&#xff1a; 2.1 Filebeat&#xff1a; 2.2 Fluentd&#xff1a; 2.3 缓存/消息队列&#xff08;redis、kafka、RabbitMQ等&#xff09;&#xff1a; 3. filebeat 结合 logstash 带来好处&#xff1a; 二、为什么要…...

Android 内存治理之线程

1、 前言 当我们在应用程序中启动一个线程的时候&#xff0c;也是有可能发生OOM错误的。当我们看到以下log的时候&#xff0c;就说明系统分配线程栈失败了。 java.lang.OutOfMemoryError: pthread_create (1040KB stack) failed: Out of memory这种情况可能是两种原因导致的。…...

三、K8S之ReplicaSet

ReplicaSet 一、概述 Kubernetes最核心的功能是编排&#xff0c;编排操作都是依靠控制器对象来完成&#xff0c;高级控制器控制着基础的控制器&#xff0c;基础控制器再去控制Pod&#xff0c;Pod里面再包容器。K8S项目里API对象层级大概就是这样。 而ReplicaSet这个控制器是…...

【基础篇】四、本地部署Flink

文章目录 1、本地独立部署会话模式的Flink2、本地独立部署会话模式的Flink集群3、向Flink集群提交作业4、Standalone方式部署单作业模式5、Standalone方式部署应用模式的Flink Flink的常见三种部署方式&#xff1a; 独立部署&#xff08;Standalone部署&#xff09;基于K8S部署…...

简述什么是迭代器(Iterator)?

迭代器(Iterator)是一种设计模式,Java 中的迭代器是集合框架中的一个接口,它可以让程序员遍历集合中的元素而无需暴露集合的内部结构。使用迭代器可以遍历任何类型的集合,例如 List、Set 和 Map 等。 通过调用集合类的 iterator() 方法可以获取一个迭代器,并使用 hasNext…...

DarkGate恶意软件通过消息服务传播

导语 近日&#xff0c;一种名为DarkGate的恶意软件通过消息服务平台如Skype和Microsoft Teams进行传播。它冒充PDF文件&#xff0c;利用用户的好奇心诱使其打开&#xff0c;进而下载并执行恶意代码。这种攻击手段使用了Visual Basic for Applications&#xff08;VBA&#xff0…...

LeetCode——动态规划篇(六)

刷题顺序及思路来源于代码随想录&#xff0c;网站地址&#xff1a;https://programmercarl.com 目录 300. 最长递增子序列 - 力扣&#xff08;LeetCode&#xff09; 674. 最长连续递增序列 - 力扣&#xff08;LeetCode&#xff09; 718. 最长重复子数组 - 力扣&#xff08…...

sql 注入(2), 文件读写 木马植入 远程控制

sql 注入 文件读写 木马植入 远程控制 一, 检测读写权限 查看mysql全局变量 SHOW GLOBAL VARIABLES LIKE %secure%secure_file_priv 空, 则任意读写secure_file_priv 路径, 则只能读写该路径下的文件secure_file_priv NULL, 则禁止读写二, 读取文件, 使用 load_file() 函数…...

求直角三角形第三点的坐标

文章目录 求直角三角形第三点的坐标1. 原理2. 数学公式3. 推导过程 求直角三角形第三点的坐标 1. 原理 已知内容有&#xff1a; P1、P2 两点的坐标&#xff1b; dis1 为 P1与P2两点之间的距离&#xff1b; dis2 为 P2与P3两点之间的距离&#xff1b; 求解&#xff1a; …...

【Kotlin精简】第3章 类与接口

1 简介 Kotlin类的声明和Java没有什么区别&#xff0c;Kotlin中&#xff0c;类的声明也使用class关键字&#xff0c;如果只是声明一个空类&#xff0c;Kotlin和Java没有任何区别&#xff0c;不过定义类的其他成员会有一些区别。实例化类不用写new&#xff0c;类被继承或者重写…...

关于面试以及小白入职后的一些建议

面试的本质 面试的过程是一个互相选择的过程&#xff1b;面试官的诉求是&#xff0c;了解应聘者的个人基本信息、工作态度、专业能力及其他综合能力是否与公司招聘岗位匹配&#xff1b;面试者的诉求是&#xff0c;拿下招聘岗位offer&#xff0c;获得工作报酬&#xff1b; 面试…...

Excel 从网站获取表格

文章目录 导入网站数据导入股票实时行情 用 Excel 获取网站数据的缺点&#xff1a;只能获取表格类的数据&#xff0c;不能获取非结构化的数据。 导入网站数据 转到地址之后&#xff1a; 实测该功能经常导致 Excel 卡死。 导入股票实时行情...

rsync 备份工具(附rsync+inotify 实时同步部署实例)

rsync 备份工具(附rsyncinotify 实时同步部署实例&#xff09; 1、rsync概述1.1关于rsync1.2rsync 的特点1.3工作原理 2、rsync相关命令2.1基本格式和常用选项2.2启动和关闭rsync服务2.3下行同步基本格式2.4上行同步基本格式2.5免交互2.5.1指定密码文件2.5.2rsync-daemon方式2.…...

Java 资源释放与堆外内存管理机制演进分析

在 Java 虚拟机&#xff08;JVM&#xff09;的内存管理模型中&#xff0c;垃圾收集器&#xff08;GC&#xff09;仅负责回收 JVM 堆内存&#xff08;Heap Memory&#xff09;中不可达对象所占用的空间。然而&#xff0c;Java 程序在运行过程中必然会涉及到不受 GC 直接控制的外…...

基于大语言模型的AI狼人杀游戏:双层角色扮演与模型竞技场设计

1. 项目概述&#xff1a;当狼人杀遇上AI&#xff0c;一场全新的推理盛宴毕业之后&#xff0c;想凑齐8到12个人&#xff0c;在周末的晚上围坐一圈&#xff0c;点上外卖&#xff0c;来一场酣畅淋漓的狼人杀&#xff0c;几乎成了一种奢望。这个游戏的精髓在于社交&#xff0c;但剥…...

NoFences完整指南:免费开源工具彻底解决Windows桌面杂乱问题

NoFences完整指南&#xff1a;免费开源工具彻底解决Windows桌面杂乱问题 【免费下载链接】NoFences &#x1f6a7; Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 还在为杂乱的Windows桌面图标而烦恼吗&#xff1f;No…...

CH32F103C8T6 vs STM32F103C8T6:程序下载生态深度对比与国产替代实战

CH32F103C8T6与STM32F103C8T6程序下载生态全维度对比与国产化迁移指南 在嵌入式开发领域&#xff0c;MCU的程序下载方式往往决定了开发效率的上限。当工程师从熟悉的STM32平台转向国产CH32时&#xff0c;最直接的"水土不服"往往就发生在烧录环节——同样的SWD接口为何…...

【独家首发】DeepSeek-V2模型GPU利用率可视化方案:仅需3个自定义Metrics,告别盲调参数

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;DeepSeek Grafana可视化 DeepSeek 是一款高性能、低延迟的开源时序数据引擎&#xff0c;其原生支持 Prometheus 兼容指标暴露。将 DeepSeek 与 Grafana 集成&#xff0c;可实现对模型推理吞吐、GPU 显存…...

如何利用The Incredible PyTorch离线文档:深度学习者的终极学习宝典

如何利用The Incredible PyTorch离线文档&#xff1a;深度学习者的终极学习宝典 【免费下载链接】the-incredible-pytorch The Incredible PyTorch: a curated list of tutorials, papers, projects, communities and more relating to PyTorch. 项目地址: https://gitcode.…...

3种完整破解方案深度解析:Beyond Compare 5授权密钥生成技术实现指南

3种完整破解方案深度解析&#xff1a;Beyond Compare 5授权密钥生成技术实现指南 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen BCompare_Keygen是一个基于Python 3开发的Beyond Compare 5.x版…...

告别91卫图!用QGIS Python脚本批量下载Google/Bing卫星图,附完整代码

开源GIS实战&#xff1a;Python脚本自动化下载Google/Bing卫星影像全攻略 当你在深夜赶制城市规划方案时&#xff0c;突然发现91卫图下载的影像分辨率不足&#xff1b;当科研项目需要批量获取区域卫星数据时&#xff0c;商业软件高昂的授权费用让你望而却步——这可能是每个GIS…...

Windows进程内存操作实战:ClawMem库核心原理与应用指南

1. 项目概述&#xff1a;一个内存操作工具箱的诞生在软件开发和逆向工程领域&#xff0c;对进程内存进行安全、高效、可控的读写操作&#xff0c;是一个既基础又充满挑战的需求。无论是为了调试、分析程序行为&#xff0c;还是为了实现特定的功能扩展&#xff0c;直接与内存打交…...

README智能生成工具:从项目分析到自动化文档的工程实践

1. 项目概述&#xff1a;一个为README注入灵魂的智能工具在开源社区和日常开发中&#xff0c;README文件的重要性不言而喻。它不仅是项目的门面&#xff0c;更是连接开发者与用户、贡献者之间的第一座桥梁。然而&#xff0c;有多少次&#xff0c;我们面对一个功能强大但文档寥寥…...