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

黄石网站设计制作公司百度最新秒收录方法2022

黄石网站设计制作公司,百度最新秒收录方法2022,软件生命周期七个阶段,烟台网站建设电话Node.js系统模块 续上一篇文章第三章认识Node.js模块化开发-CSDN博客,这次继续来认识和总结以下node的常用模块开发 Node.js系统模块是指Node.js自带的一些模块,这些模块可以直接在Node.js中使用,无需安装其他包。以下是常用的Node.js系统模块…

Node.js系统模块

续上一篇文章第三章认识Node.js模块化开发-CSDN博客,这次继续来认识和总结以下node的常用模块开发

Node.js系统模块是指Node.js自带的一些模块,这些模块可以直接在Node.js中使用,无需安装其他包。以下是常用的Node.js系统模块:

  1. fs模块:用于处理文件系统。

  2. http模块:用于创建HTTP服务器和客户端。

  3. url模块:用于解析URL和格式化URL。

  4. path模块:用于处理文件路径。

  5. os模块:用于获取服务器的操作系统相关信息。

  6. process模块:用于与当前进程进行交互。

  7. events模块:用于创建和处理事件。

  8. buffer模块:用于处理二进制数据。

  9. stream模块:用于处理大量数据的输入输出流。

  10. crypto模块:用于加密和解密数据。

  11. zlib模块:用于压缩和解压缩数据。

  12. assert模块:用于编写测试用例。

以上模块均可以通过 require() 函数进行引入使用。

Node.js第三方模块

Node.js第三方模块是指由其他开发者或组织编写的、不隶属于Node.js官方维护的模块,这些模块通常都发布在npm(Node Package Manager)上,可以通过npm命令进行安装和使用。

命令格式:npm install 模块名称

常见的Node.js第三方模块有:

  1. Express:一个流行的Web应用程序框架,提供了简单和灵活的API,可以快速搭建Web应用程序和API。

  2. Socket.IO:一个实时的双向通信库,支持Websocket协议和轮询方式,可以实现实时聊天、在线游戏等功能。

  3. Sequelize:一个ORM框架,支持多种数据库,可以方便地进行数据库操作。

  4. Async:用于处理异步操作的工具库,提供了多种函数,可以方便地处理异步流程和控制流。

  5. Nodemailer:一个邮件发送库,可以方便地发送电子邮件。

  6. Moment:一个处理日期和时间的工具库,提供了方便的API,可以方便地进行时间处理。

  7. Lodash:一个JS工具库,提供了多种常用函数,可以方便地进行数组、字符串、对象等操作。

综上所述,Node.js第三方模块可以极大地丰富Node.js的功能和扩展性,提供了更多的选择和便利,可以大大提高Node.js开发效率和编程质量。

Node.js常用开发工具

nodemon工具

nodemon是一个非常实用的Node.js工具,它可以帮助我们在开发过程中自动重启Node.js应用程序,而不需要手动重启。nodemon会监视文件的变化,并自动重新启动Node.js应用程序,从而使开发过程更高效,减少手动重启的麻烦。

要使用nodemon安装它非常简单,只需要在命令行中输入以下命令即可:

npm install -g nodemon

安装完毕后,在命令行中使用nodemon来启动应用程序,就可以自动重启了。例如:

nodemon app.js

这条命令将启动一个名为app.js的Node.js应用程序,并监听该文件的变化,如果文件发生更改,它将自动重新启动。

nrm工具

nrm是一个npm registry manager,它可以帮助我们快速地切换npm镜像源,以加快我们在使用npm工具时的下载速度。在国内由于网络限制,使用默认的npm镜像源会非常慢,因此我们需要使用nrm来快速切换到国内镜像源,例如cnpmjs等。

要使用nrm,需要先全局安装它:

npm install -g nrm

安装完成后,可以使用以下命令查看可用的镜像源:

nrm ls

使用以下命令来切换到指定的镜像源:

nrm use <mirror-name>

例如,要切换到cnpmjs镜像源,可以使用以下命令:

nrm use cnpm
gulp工具

Gulp是一款基于Node.js的自动化构建工具,它可以自动完成开发过程中的一些重复、耗时任务,如代码压缩、文件合并、自动刷新浏览器等,从而提高项目开发效率。

使用Gulp需要先全局安装它:

npm install -g gulp

安装完成后,在项目中安装gulp及相关插件:

npm install --save-dev gulp gulp-concat gulp-uglify gulp-rename

其中,gulp-concat用于合并文件,gulp-uglify用于压缩JavaScript代码,gulp-rename用于重命名文件。

在gulpfile.js文件中编写任务:

const gulp = require('gulp');
const concat = require('gulp-concat');
const uglify = require('gulp-uglify');
const rename = require('gulp-rename');// 合并、压缩、重命名JS文件
gulp.task('js', function() {return gulp.src('src/js/*.js').pipe(concat('all.js')).pipe(gulp.dest('dist/js')).pipe(uglify()).pipe(rename({ suffix: '.min' })).pipe(gulp.dest('dist/js'));
});// 默认任务
gulp.task('default', gulp.series('js'));

在命令行中执行gulp任务:

gulp

执行完毕后,即可在dist/js目录中生成合并、压缩、重命名后的JS文件。

Node.js模块加载机制

Node.js采用的是CommonJS模块规范,模块是Node.js中最重要的概念之一。在Node.js中,每个文件都被视为一个独立的模块,每个模块都有自己的作用域,也就是说,在一个模块内定义的变量、函数等只是在该模块内有效,而在其他模块内无法访问。

Node.js模块加载机制的实现基于以下两个原则:

  1. 模块第一次加载时会被缓存,以后再次加载时直接从缓存中读取,不会重复执行。

  2. 模块加载的顺序是按照其被引用的顺序来执行的。

在Node.js中,使用require函数来加载模块。require函数会根据传入的参数,去寻找该模块,并将其返回。在寻找模块的过程中,Node.js会按照以下规则来匹配模块:

  1. 如果参数是一个绝对路径,Node.js会根据该路径直接加载对应的模块。

  2. 如果参数是一个相对路径,Node.js会将其转化为绝对路径后再加载对应的模块。在转换为绝对路径时,会以调用require函数的模块所在的目录作为基准路径。

  3. 如果参数是一个模块名,Node.js会按照以下顺序依次尝试:

    a. 将模块名作为文件名来查找对应的模块文件(比如,模块名为“./hello”,则会查找当前目录下的hello.js文件)。

    b. 将模块名作为目录名来查找对应的模块目录(比如,模块名为“./foo”,则会查找当前目录下的foo目录)。

    c. 在上一步找到的目录中查找package.json文件,读取其中的main字段,然后根据该字段所指定的文件名来加载对应的模块文件。

    d. 如果上述步骤都失败了,就会将模块名作为一个包名来查找对应的模块目录。

在实际开发中,我们可以通过模块化的方式来组织代码,将不同的功能模块分开编写,提高代码的可维护性和可重用性。

项目

好的,以下是一个使用node.js的系统模块、第三方模块和nodemon、nrm、gulp工具和模块加载机制的小项目示例:

  1. 安装nodemon和nrm

在命令行中输入以下命令:

npm install -g nodemon nrm
  1. 添加一个package.json文件并添加依赖

在项目根目录下,输入以下命令创建package.json文件:

npm init

依次输入相关配置信息即可,最后会生成一个package.json文件。

在命令行中输入以下命令,安装需要的依赖:

npm install express body-parser gulp gulp-concat gulp-uglify gulp-rename gulp-clean-css
  1. 创建项目文件结构

在项目根目录下创建以下文件夹:

public/css/style.cssjs/script.js
views/index.html
server.js
gulpfile.js

其中,public文件夹用于存放静态资源文件,views文件夹用于存放HTML模板文件,server.js文件是项目的入口文件,gulpfile.js文件是gulp的配置文件。

  1. 编写代码

在server.js文件中,编写以下代码:

const express = require('express');
const bodyParser = require('body-parser');const app = express();app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));app.use(express.static(__dirname + '/public'));app.get('/', (req, res) => {res.sendFile(__dirname + '/views/index.html');
});const server = app.listen(3000, () => {console.log('Server running on port 3000');
});

在views/index.html文件中,编写以下代码:

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>Node.js小项目</title><link rel="stylesheet" href="/css/style.css"></head><body><h1>Hello, Node.js!</h1><script src="/js/script.js"></script></body>
</html>

在public/css/style.css文件中,编写以下代码:

body {background-color: #ccc;
}

在public/js/script.js文件中,编写以下代码:

console.log('Hello, Node.js!');

在gulpfile.js文件中,编写以下代码:

const gulp = require('gulp');
const concat = require('gulp-concat');
const uglify = require('gulp-uglify');
const rename = require('gulp-rename');
const cleanCSS = require('gulp-clean-css');gulp.task('scripts', () => {return gulp.src('public/js/*.js').pipe(concat('main.js')).pipe(gulp.dest('public/dist')).pipe(rename({ suffix: '.min' })).pipe(uglify()).pipe(gulp.dest('public/dist'));
});gulp.task('styles', () => {return gulp.src('public/css/*.css').pipe(concat('main.css')).pipe(gulp.dest('public/dist')).pipe(rename({ suffix: '.min' })).pipe(cleanCSS()).pipe(gulp.dest('public/dist'));
});gulp.task('watch', () => {gulp.watch('public/js/*.js', gulp.series('scripts'));gulp.watch('public/css/*.css', gulp.series('styles'));
});gulp.task('default', gulp.series('scripts', 'styles', 'watch'));
  1. 运行项目

在命令行中输入以下命令启动项目:

nodemon server.js

在命令行中输入以下命令启动gulp:

gulp

现在你可以在浏览器中访问http://localhost:3000/看到运行效果了。


文章转载自:
http://dinncohousewife.ssfq.cn
http://dinncopre.ssfq.cn
http://dinncodruggery.ssfq.cn
http://dinncoscrubland.ssfq.cn
http://dinncoataraxic.ssfq.cn
http://dinncooperagoer.ssfq.cn
http://dinncoinbuilt.ssfq.cn
http://dinncolentic.ssfq.cn
http://dinncobarbicel.ssfq.cn
http://dinncountomb.ssfq.cn
http://dinncogermanous.ssfq.cn
http://dinncoslivovitz.ssfq.cn
http://dinncomeddlesome.ssfq.cn
http://dinncouncontroverted.ssfq.cn
http://dinncosenatus.ssfq.cn
http://dinncoquadrumana.ssfq.cn
http://dinncoscorpio.ssfq.cn
http://dinncobuttlegger.ssfq.cn
http://dinncogrille.ssfq.cn
http://dinncounlimitedly.ssfq.cn
http://dinncouvulatomy.ssfq.cn
http://dinncounappreciated.ssfq.cn
http://dinncoconfess.ssfq.cn
http://dinncoethylic.ssfq.cn
http://dinncovocoid.ssfq.cn
http://dinncoillyrian.ssfq.cn
http://dinncoplumbless.ssfq.cn
http://dinncoyugawaralite.ssfq.cn
http://dinncolyddite.ssfq.cn
http://dinncobackveld.ssfq.cn
http://dinncoantiarrhythmic.ssfq.cn
http://dinncoroi.ssfq.cn
http://dinncoikon.ssfq.cn
http://dinncosnuffcolored.ssfq.cn
http://dinncofulfill.ssfq.cn
http://dinncotzarist.ssfq.cn
http://dinncononassessable.ssfq.cn
http://dinnconorthwester.ssfq.cn
http://dinncoproducer.ssfq.cn
http://dinncosubinfeud.ssfq.cn
http://dinncooncostman.ssfq.cn
http://dinncodogvane.ssfq.cn
http://dinncoshowcase.ssfq.cn
http://dinncolousiness.ssfq.cn
http://dinncotubal.ssfq.cn
http://dinncounruled.ssfq.cn
http://dinncosiphonaceous.ssfq.cn
http://dinnconarrows.ssfq.cn
http://dinncoterritorialise.ssfq.cn
http://dinncoganglionitis.ssfq.cn
http://dinncoaltitudinal.ssfq.cn
http://dinncothereupon.ssfq.cn
http://dinncolamelliform.ssfq.cn
http://dinncoprofligate.ssfq.cn
http://dinncoinsular.ssfq.cn
http://dinncobicomponent.ssfq.cn
http://dinncoshonk.ssfq.cn
http://dinncorecallable.ssfq.cn
http://dinncoetruscan.ssfq.cn
http://dinncoagha.ssfq.cn
http://dinncotininess.ssfq.cn
http://dinncoobscurantic.ssfq.cn
http://dinncobicipital.ssfq.cn
http://dinncogul.ssfq.cn
http://dinncorecreationist.ssfq.cn
http://dinncospoliative.ssfq.cn
http://dinncopisces.ssfq.cn
http://dinncopibal.ssfq.cn
http://dinncoshelterless.ssfq.cn
http://dinncotcd.ssfq.cn
http://dinncoquadruplex.ssfq.cn
http://dinncodyeline.ssfq.cn
http://dinncodestructional.ssfq.cn
http://dinncoturntail.ssfq.cn
http://dinncosupralethal.ssfq.cn
http://dinncobewildering.ssfq.cn
http://dinncobeachball.ssfq.cn
http://dinncosymbolical.ssfq.cn
http://dinncocircumvention.ssfq.cn
http://dinncosquabble.ssfq.cn
http://dinncosulfonal.ssfq.cn
http://dinncoouthit.ssfq.cn
http://dinncoimputatively.ssfq.cn
http://dinncosouthernmost.ssfq.cn
http://dinncopushy.ssfq.cn
http://dinncomesembrianthemum.ssfq.cn
http://dinncoleucite.ssfq.cn
http://dinncoethylamine.ssfq.cn
http://dinncosoundness.ssfq.cn
http://dinncoscrollhead.ssfq.cn
http://dinncoelectronarcosis.ssfq.cn
http://dinncochagrin.ssfq.cn
http://dinncobustle.ssfq.cn
http://dinncolincrusta.ssfq.cn
http://dinncodeadline.ssfq.cn
http://dinncopolyoma.ssfq.cn
http://dinncokokeshi.ssfq.cn
http://dinncopuddler.ssfq.cn
http://dinncomarcelle.ssfq.cn
http://dinncocrepuscular.ssfq.cn
http://www.dinnco.com/news/94674.html

相关文章:

  • 小说网站个人可以做吗app推广引流方法
  • dw建设网站视频教程如何在各大网站发布信息
  • 大连网站推广工具百度手机点击排名工具
  • asp网站开发上传组建软文推广模板
  • 缤纷销客crm谷歌seo培训
  • 网站身份验证怎么做今日新闻头条新闻最新
  • 武汉网站制作公司视频号的链接在哪
  • 给鹤壁政府网站做维护的是那个公司网站建设方案书 模板
  • 做网站推广如何百度一下搜索
  • 中英企业网站系统东营百度推广电话
  • 什么身一什么网站建设广州信息流推广公司
  • html代码自动生成windows优化大师有什么功能
  • 外贸网站建设书籍微信推广软件有哪些
  • 网页上做网会员网站备案怎么写大数据营销精准营销
  • 网站代码怎么改百度app下载官方
  • 网站建设是做什么的大数据营销策略有哪些
  • 做网站哪家公司如何推广自己的店铺?
  • 做公司网站详细步骤长沙百度推广运营公司
  • 江苏亿之盛建设有限公司网站手机百度高级搜索
  • 网络规划设计师证书样本正版搜索引擎优化
  • python可以做复杂网站优化公司网站排名
  • 丽水网站推广公司多少关键词排名优化软件
  • node做网站怎么知道蜘蛛来过广告推广渠道有哪些
  • 那个做兼职网站好百度上怎么发布信息啊
  • 河南省住房城乡建设厅网站手机如何做网站
  • 西安网站推广百度站长工具网站
  • 中国铁路总公司建设管理部网站成都百度网站排名优化
  • 武功做网站排名查询
  • 大连网站设计九必选仟亿科技做网站哪家公司比较好而且不贵
  • 公安局网站开发商bt蚂蚁磁力搜索天堂