node.js(2)

2022-09-20 20:41:11 浏览数 (1)

在上一篇中,解决中文乱码的方法好像行不通,但是在网上找到了可用的方法:

res.setHeader('Content-Type', 'text/plain;charset=utf-8');

根据不同的url响应不同的html内容

核心实现步骤:

  • 获取请求的URL地址
  • 设置默认的响应内容为404 not found
  • 判断用户请求是否为/或者index.html首页
  • 判断用户请求是否为/about.html关于页面
  • 设置content-type响应头,防止中文乱码
  • 使用res.end()把内容响应给客户端

但是我的页面又拒绝接入了...

模块化

编程领域中的模块化,就是遵守固定的规则,把一个大文件拆成独立并相互依赖的多个小模块

好处: 防止了全局变量污染的问题

▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼

向外共享模块作用域中的成员

module对象

在每个.js自定义模块中都有一个module对象,它里面存储了和当前模块有关的信息,打印如下:

module.exports对象

在自定义模块中,可以使用module.exports对象,将模块中的成员共享出去,供外界使用.外界用require()方法导入自定义模块,得到的就是module.exports所指向的对象

由于module.exports是一个对象,我们可以在这个对象上挂载属性和方法

也可以这么写:

使用require方法时,导入的结果,永远以module.exports指向的对象为准

此时module.exports已经指向了一个全新的对象

一些误区:

node.js中的模块化规范

node.js遵循了commonJS的模块化规范,规定了模块化特性和各模块之间如何相互依赖

npm与包

什么是包

node.js中的第三方模块又叫做包

包的来源

不同于node.js中的内置模块,包是由第三方个人或者团队开发出来的,免费供所有人使用

注意

node.js中的包都是免费且开源的,不需要付费就能使用

如何下载包

格式化时间的高级做法

①使用npm包管理工具,在项目中安装格式化时间的包moment

②使用require( )导入格式化时间的包

③参考moment的官方API文档对时间进行格式化

使用:

文档里还有许多使用的方法,不过现在好像已经不推荐使用moment的包而是day.js了.

在我们新建了一个项目文件夹时,先不要写代码,而是新建一个package.json的文件,只需执行一次

注意:

①上述命令只能在英文的目录下成功运行,所以项目文件夹的名称一定要使用英文命名,不要使用中文,不能出现空格

②运行npm install命令安装包的时候,npm包管理工具会自动把包的名称和版本号,记录到package.json中

由于把第三方的包剔除掉再上传GitHub,因此我们在打开项目时,需要把包全部下载了才能正常的运行,那么如何下载所有的包呢?

安装所有包

卸载包

安装完以后就会多出个属性 devDependencies的属性

npm config set registry=https://registry.npm.taobao.org/

注意等号两侧不要空格

后面学习express

0 人点赞