node.js入门基础-4

Express4 Node.js 工具包:从入门到实战 本文还有配套的精品资源,点击获取 简介:Express4是Node.js中流行的Web应用框架,简化了构建Web应用程序的过程。本工具包提供了一个完整的指南,涵盖Express4的核心概念、安装和设置、路由处理、中间件使用、静态文件服务、模板引擎集成、错误处理和服务器启动。通过实践任务和代码示例,学生将掌握Express4的实际应用,并能够构建高效且可扩展的Web服务。 ... 阅读详情
  • Node.js与JavaScript的关系?

  • Node.js基于哪个JavaScript引擎?

  • Node.js的特点?

  • Node.js只能运行在Windows上吗?

cmd

  • cd(change directory)切换目录
  • md(make directory)新建目录
  • rd(remove directory)删除非空目录
  • dir(directory)查看目录中的条目
    ls linux
  • ren(rename)重命名文件
  • del(delete)删除文件
  • cls(clear screen)清屏
    clear linux

path 环境变量

  • path环境变量的作用是什么?
  • 在Windows中配置path环境变量的方法是什么?

REPL(Read Eval Print Loop)交互式运行环境

  • 作用:一般来说,可以用来做一些API的测试

  • 进入REPL运行环境

  • 退出REPL运行环境

Node.js基础知识

  • 如何让Node.js执行一个js文件
    node 文件名

-绝对路径和相对路径
.\或者..\ 相对路径
c:/xx/xx.js绝对路径
\ linux 根目录
windows 盘符的根目录

globals

  • global
  • __dirname和__filename
    关于这俩家伙,一般在读取文件的时候,最好使用绝对路径的方式,通过这俩家伙拼接
  • console
    • assert(foo==1,”失败”);断言
    • time(‘timer’)
    • timeEnd(‘timer’)
    • 成对的出现

模块系统

  • 什么是模块
    一个文件就是一个模块
  • 模块作用域
    在一个模块内变量、函数、对象都属于这个模块,对外是封闭的。
  • require
    require("路径")
    //路径现阶段使用相对路径
  • exports
    是module.exports的一个别名、引用,exports能做的module.exports都可以完成。
  • module.exports
    最终曝露出去的对象,想曝露出去对象、属性、方法就挂载到module.exports

模块系统

模块的种类

在Node.js中,模块分为两类:

第一类,核心模块(原生模块),node自带,用名称直接可以加载。
- 核心模块
  + fs file system
  + http
  + os
  + path
  + querystring
  + url
  ...
第二类,文件模块,用路径加载,有一种特殊的文件模块----->包,可以用名字。

module 是一个全局对象,它的作用是存储模块信息的,每一个js是一个模块,每一个模块里面都有一个module,module里面还存储了父子结构
直接给module.exports赋值,exports是无效,用属性的形式去赋值的时候二者都有效

优先从缓存加载

common.js规范----->加载后,再次加载时,去缓存中取module.exports

require参数解析


核心模块是Node.js原生提供的加载核心模块的时候,
不需要传入路径,因为Node.js已经将核心模块的文件代码
编译到了二进制的可执行文件中了
在加载的过程中,原生的核心模块的优先级是是最高的

Alt text
- ./或../开始的相对路径文件模块
在加载一个自己编写的模块的时候,最好使用__dirname 和 你要加载的模块的文件名拼接
- 以/开始的绝对路径文件模块

* 在Linux或者MAc的操作系统中,/表示系统的根路径
* 在Windows中,/表示当前文件模块所属的根磁盘路径
不建议使用,了解

- 标识符中可以不包含扩展名
+ Node会按照.js、.node、.json的次序补足扩展名,依次尝试

“`
不包含扩展名的时候,Node.js会按照
路径.js 以后自己在加载js文件模块的时候,就省略掉.js后缀就可以了
路径.node 后缀为node的文件是c/c++写的一些扩展模块
路径.json 如果是加载json文件模块,最好加上后缀.json,能稍微的提高一点加载的速度
.json文件最终Node.js也是通过fs读文件的形式读取出来的,然后通过JSON.parse()转换成一个对象

Node.js会通过同步阻塞的方式看这个路径是否存在
依次尝试,直到找到为止,
如果找不到,报错

“`

  • require 加载包的时候
   直接写包名,先在包内的node_modules,
   目录下查找,去父级目录下的node_modules目录下查找,
   依次向上查找,直到根目录。

参考文献

包

还有一种特殊的文件模块,其实就是包
- 问题:你开的一个功能模块,还是以文件的形式散列的,你给别人使用的时候很麻烦。
- 包的作用:在模块的基础上进一步组织JavaScript代码

包的组成

  • 包结构
  • 包描述文件package.json

    • 描述你的当前的包的一些相关的信息
      +dependencies
    • 包名:“版本号”
    • > +版本号 下载大于某个版本号,npm会下最新版
    • < +版本号 下载小于某个版本号,npm会下小于这个版本号最新版
    • <= 小于等于 一定会下你写的这个版本,除非没有你写的这个版本
    • >= 大于等于 下载最新版
    • *、” “、X 任意 npm会给你下最新版
    • ~ +版本号 会去下约等于这个版本的最新版,在大版本不变的情况下下一个比较新的版本
    • ^ +版本号 不跃迁版本下载,^2.1.0 npm会下载大版本不变,去下载2.x.x版本里的最近版

    参考文献 package.json全字段解析

npm install -g fast-init

package.json

包的描述文件

package.json文件内部就是一个JSON对象,该对象的每一个成员就是当前项目的一项设置,
比如name就是项目名称,version就是项目的版本号

在模块的加载机制中,有一个main属性是非常重要的,它很大意义上决定了包要导出的模块位置

npm

  • 基于Node.js开发的包的托管网站
  • Node.js包管理工具

npm :基于包的规范实现的一个包管理工具

  • npm install 包名

当执行npm install的时候,它会自动跑到npm的网站,然后找到该包的github地址,
找到之后,下载这个压缩包,然后在执行npm install的当前目录下找一个叫做node_modules目录
如果找到,直接解压这个压缩包,到node_modules目录下
如果找不到,则新建一个node_modules目录,解压到该目录
- npm install -g 包名
表示全局安装
npm在安装的时候,在全局设置了一个安装目录,只要是全局安装就会把包安装到这个目录里面去
npm install -g 包名 只要是全局安装就是安装命令行工具

  • npm install 缩写 npm i

当执行npm install的时候,会自动在当前目录中查找package.json文件
如果找到,找里面的 dependencies 字段,安装该字段中所有依赖的项
- npm docs 包名
通风这个命令打开 包相对应的文档
- npm install –save 生产环境
npm i -S jquery@3.*
咱们以后在做项目的时候,先初始化一个package.json文件,
在安装第三方包依赖的时候,必须使用npm install –save express,添加依赖项到package.json文件中,
实际就是添加到dependencies字段中

  • npm install -save-dev 开发环境
    npm i -D jquery@3.*
    咱们以后在做项目的时候,先初始化一个package.json文件,
    在安装第三方包依赖的时候,必须使用npm install –save express,添加依赖项到package.json文件中,
    实际就是添加到devDependencies字段中

  • npm config set prefix 修改全局安装目录
    不建议使用,建议去文件夹里面改 C:\Users\用户名 里面有一个 .npmrc文件
    去里面改prefix = C:\dev\npm (写你的路径)
    去全局的环境变量path里把C:\dev\npm 路径加进去

npm 这种东西的最终的目的就是:让你的开发模式工程化,都依靠工具来管理

nvm npm nrm

3m

   nvm node版本的管理工具
   npm node的包管理工具
   nrm npm的数据源管理工具

    npm install -g nrm 

文件操作

箭头函数

箭头函数就是一种语法糖
语法糖是一种语法,用这种语法能尝到甜头,能是编程高效
当函数体有一个参数有返回值的时候

var foo=function(v){ return v;}
var foo=v=>v;
当函数体没有参数有返回值的时候

var foo=function(){ return v;}

var foo=()=>v;
当函数体有多个参数有返回值的时候

var foo=function(v1,v2){ return v1+v2;}
var foo=(v1,v2)=>v1+v2;
当函数体有多个参数没有返回值的时候
var foo=function(v1,v2){ 
  console.log(v1); console.log(v2);
  }
var foo=(v1,v2)=>{
  console.log(v1); console.log(v2);
  };

文件读写

  • fs.readFile() 读文件

fs.readFile(file, [options], callback)
//file 读文件的路径
//options 用[]包裹的可选参数,object {“encoding”:”uft8”,”flag”:”r”} string ‘utf8’
//callback function callback函数里面有两个参数
//err表示错误对象,如果readFile发生错误了,在callback函数里面会回返回err,err对象里面存着错误信息
//如何读文件成功,err为null
//data就是读文件,读出来的内容。

  • fs.access(path,[mode], callback) 用来判断文件是否存在
    //path 判断路径是否正确(也可以判断文件)’./pic’
    //mode一般不用,默认就可以了,用的话是用来判断文件是否可读可写可执行
    //callback 只有一个参数err,错,文件有问题
Habitat安装全网最详细教程,手把手带你跑通example.py(全网唯一) 全网最详细具身智能仿真平台habitat的安装教程 阅读详情

相关推荐

NY8A053E 例程 之 PWM Ouput

更多关于NY8A053E的相关例程请留言!

倪彬笑阳的博客 2925

TRS WCM 栏目出ERR -1100.....

检查回收站和草稿箱是否有内容。

jccmjl的专栏 608

零基础手把手教你做FMEDA

本文通过分步骤手把手来教大家具体如何做FMEDA,希望对工作中要做FMEDA的童鞋有帮助。对于工作当中用不到FMEDA的童鞋,也可以作为科普知识,更好地了解一下FMEDA及硬件功能安全。

NewCarRen的博客 9933

Node1-2 Node JS的优点

NodeJS并不适合所有server端的场景,它的使用场景是及其有限的,web是nodeJS最适合的场景 前端偏爱node的原因其内核就是JavaScript 前端职责范围变大,统一开发体验 在处理了高并发,I/O密集场景性能优势明显 CPU密集 VS I/O密集 CPU密集:压缩,解压,加密,解密(程序大部分时间是用来做计算,判断等CPU动作) I/O密集...

努力学习的肥宅 194

【NIFI】实现HANA->ORACLE数据同步

实现 HANA->ORACLE数据同步。

weixin_43159039的博客 1510

R语言的下载、安装及环境配置(Rstudio&VSCode)

R for Windows是一个免费的用于统计计算和统计制图的优秀工具,是R语言开发工具。它拥有数据存储和处理系统、数组运算工具(其向量、矩阵运算方面功能尤其强大)、完整连贯的统计分析工具、优秀的统计制图等功能。提供的图形界面,可以在其中访问控制台、创建脚本或安装其他软件包。

zegeai的博客 2万+

nodejs读取文件时相对路径的正确写法(使用fs模块)

在开发nodejs中,我们往往需要读取文件或者写入文件,最常用的模块就是fs核心模块。一个最简单的写入文件的代码如下(暂时不考虑回调函数):fs.readFile("./test.txt", function (error, result) {}       该代码的意思就是从当前目录下的test.txt文件中读取数据,然后在result中打印输出。当在我们本地运行该代码应该没什么问题,可以成功执

乞力马扎罗的雪CYF的博客 2万+

高频功率放大器的设计实现

摘 要 随着无线通信技术的高速发展,市场对射频电路的需求越来越大,同时对射频电路的性能要求也越来越高。高频功率放大器是位于无线发射级末端的重要部件,为了弥补信号在无线传输过程中的衰耗,要求发射机具有较大功率的输出,通信距离越远,要求的输出功率越大。在高频范围内,为了获得足够大的高频输出功率,就要采用高频功率放大器。 本次课程设计的高频功率放大器的技术指标包括输出功率、效率、功率增益、由于高频频功率放大器的输出功率比较大,耗能比较多,所以工作效率就显得比较重要。本课程设计的高频功率放大器电路由两极功率放大器

qq_43543515的博客 3万+

Node.js 入门教程 4 使用 Node.js 需要了解多少 JavaScript & 5 Node.js 和浏览器的区别

Node.js 入门教程 4 使用 Node.js 需要了解多少 JavaScript & 5 Node.js 和浏览器的区别

代码改变世界 373

低功耗边缘设备部署指南:YOLO26 INT8量化与TensorRT加速全流程

将YOLO26 INT8部署到低功耗边缘设备,核心原则是“校准为王、敏感层精准回退、端到端验证”。校准集≥500张,来自真实推理场景,未经训练增强校准集预处理与推理pipeline逐行对齐trtexec命令必带--fp16作为fallback量化后用polygraphy定位敏感层,而非盲猜仅回退必要层(通常2-3个),保留INT8收益在真实部署场景测试集上验证mAP,不以COCO为准C++部署使用异步推理+双缓冲nsys profiling确认无传输瓶颈。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 213

iStoreOS等软路由插件卸载的残留?分享一款软路由高级卸载工具,自定义卸载,轻松解决卸载残留问题

iStoreOS用户看过来!👀 还在被插件包残留困扰吗?本文分享一款“高级卸载”的插件,助你深度清理iStoreOS系统,彻底解决软件卸载不净的痛点,告别频繁恢复出厂设置的烦恼!🚀

XiaoqiangClub的博客 1545

log4js-node 入门使用

任何语言框架都少不了日志模块,在node这种及其开发的环境中,日志模块真是又多又杂,网上也有很多比较的帖子,这里都不多说了,最近项目中用到了log4js,结合自己的实践,介绍下这个模块。 log4js是从log4j衍生出来的,如果用log4j的使用经验,则上手log4js会很快。 陈列文档 文档介绍 github 简单上手 安装 yarn add log4js 或者 npm install l...

MaiDouYT的博客 1251

[QMT和ptrade量化交易小白入门]-125、菜场大妈加上四大现金行业指数风控,最大回撤从22%减少了一半

群里面有人建议,在菜场大妈策略的基础上,加入申万的行业指数(银行,钢铁,有色,煤炭)测算其宽度,当这四大行业其中有一个高就会清仓(用来控制回撤)。这背后的逻辑是,在存量资金博弈的市场环境中,资金总量相对固定,当银行、钢铁、有色、煤炭等大市值周期行业因基本面改善(如涨价、政策催化)或避险需求而走强时,会吸引大量资金涌入,导致其他板块(尤其是小市值股票)面临流动性虹吸。经过回测,对比上一个版本发现确实是可以降低一半的回撤,最大回撤从22.3%降到了11.4%,而且有很多时间是空仓等待。

木头大左的博客 241

log4js-node日志框架全面解析:从入门到精通

log4js-node是一个专为Node.js环境设计的高性能日志记录框架,它源自log4js项目,经过深度改造和优化后形成了独立的Node.js版本。虽然名称上与Java生态中著名的log4j相似,但两者在实现和使用方式上存在显著差异,开发者应当注意区分。 ## 核心特性深度剖析 ### 1. 多类型日志输出支持 log4js-node提供了丰富的日志输出方式(Appenders): - ...

gitblog_00421的博客 533

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

node.js入门,day4

node.jsnpm包的分类规范包的结构开发属于自己的包发布包模块的加载机制express npm包的分类 注意:工具性质的包,才有全局安装的必要性。 如何使用这个i5ting_toc包,见下图所示。在下载的资料中找到这个md文件,然后注意命令运行时的目录,输入运行命令后,按回车即可弹出网页。 规范包的结构 开发属于自己的包 我们新建了如下工程文件 其中package.json代码 { "name": "my-package", "version": "1

疯子的梦想@的博客 865

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Node.js 零基础入门 Node.js 零基础入门第四天 4.4 在项目中操作MySQL

Node.js 零基础入门 Node.js 零基础入门第四天 4.4 在项目中操作MySQL

代码改变世界 426

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Node.js入门到精通(4)npm使用介绍

一、npm使用介绍 Node包管理器(npm)是一个由Node.js官方提供的第三方包管理工具。npm是一个完全由JavaScript实习的命令行工具,通过Node.js执行,因此严格来讲它不属于Node.js的一部分。npm能解决Node.js代码部署上的很多问题,常见的使用场景有以下几种: - 允许用户从NPM服务器下载别人编写的第三方包到本地使用。 - 允许用户从NPM服务器下载并安装

无尾鱼的博客 1342

Node.js 零基础入门 Node.js 零基础入门第二天 2.4 模块的加载机制

Node.js 零基础入门 Node.js 零基础入门第二天 2.4 模块的加载机制

代码改变世界 274

Node.js 零基础入门 Node.js 零基础入门第三天 3.4 使用Express写接口

Node.js 零基础入门 Node.js 零基础入门第三天 3.4 使用Express写接口

代码改变世界 317

Node.js 零基础入门 Node.js 零基础入门第四天 4.5 前后端的身份认证

Node.js 零基础入门 Node.js 零基础入门第四天 4.5 前后端的身份认证

代码改变世界 332

node从入门到放弃系列之(9)log4js日志管理

每个后端服务,都必须有日志系统,最有名的就是Log4j了。 日志存在的意义: 问题追踪:通过日志不仅仅包括我们程序的一些bug,也可以在安装配置时,通过日志可以发现问题。 状态监控:通过实时分析日志,可以监控系统的运行状态,做到早发现问题、早处理问题。 安全审计:审计主要体现在安全上,通过对日志进行分析,可以发现是否存在非授权的操作。 那在koa2里如何实现log4j日志系统呢?

qq_38734862的博客 642

4.零基础Nodejs快速入门——Node.js 模块化

将一个复杂的程序文件依据一定规则(规范)拆分成多个文件的过程称之为。编码时是按照模块一个一个编码的, 整个项目就是一个模块化的项目。,模块的内部数据是私有的,不过模块可以暴露内部数据以便其他。如果存在则导入,反之如果文件不存在会报错。可以通过下面的操作步骤,快速体验模块化。对于自己创建的模块,导入时路径建议写。如果导入的路径是个文件夹,则会。不存在,则会尝试导入文件夹下的。如果导入其他类型的文件,会以。的形式暴露数据,模块内部。文件导入时可以不用写后缀,如果还是没找到,就会报错。模块的名字即可,无需加。

qq_37002374的博客 501

《Node.js入门经典》一1.4 小结

本节书摘来自异步社区《Node.js入门经典》一书中的第1章,第1.4节,作者【英】George Ornbo,更多章节内容可以访问云栖社区“异步社区”公众号查看 1.4 小结 Node.js入门经典好极了!你刚刚创建并运行了第一个Node.js程序。虽然你现在不太可能以Internet百万富翁的身份退休,但以这个简单的示例为基础,在将来的几章里你将可以创...

weixin_34128839的博客 102

Node.js 零基础入门 Node.js 零基础入门第一天 1.3 path路径模块 && 1.4 http模块

Node.js 零基础入门 Node.js 零基础入门第一天 1.3 path路径模块 && 1.4 http模块

代码改变世界 267

【4/20】Node.js 入门:设置后端服务器,实现一个简单 API 端点

本文是"前后端与数据库交互"系列第4篇,介绍Node.js后端开发入门。文章首先解释Node.js作为服务器端JS运行环境的优势,包括全栈JS、非阻塞I/O和丰富生态。核心部分演示如何使用Node.js内置http模块创建服务器,包括设置请求处理、响应头和监听端口。通过实现一个简单API端点应用(GET /api/greeting返回JSON数据),展示完整开发流程,涵盖CORS处理、POST请求和错误响应。最后提供常见问题解决方案,并为后续学习Express框架埋下伏笔。这个独立项目可

深耕CV 1166

Node.js 零基础入门 Node.js 零基础入门第四天 4.1 数据库的基本概念 && 4.2 安装并配置MySQL && 4.3 MySQL的基本使用

Node.js 零基础入门 Node.js 零基础入门第四天 4.1 数据库的基本概念 && 4.2 安装并配置MySQL && 4.3 MySQL的基本使用

代码改变世界 308
上一篇: node.js基础入门-3
下一篇: 五分钟搞定Go.js
fx_small
博客等级 码龄10年 3粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值