zoukankan      html  css  js  c++  java
  • node

    node复习

    node是什么

    node是一个js的运行环境

    在node中能操作做dom和bom吗?不行,只能运行ECMAScript、

    不能操作dom和bom的话,如何实现一些强大的功能呢?

    node有模块来实现功能

    模块

    什么叫模块?模块就是一个js文件

    类似于函数定义好了,只要调用就ok

    模块分类

    1. 内置模块 - node自己内部封装好的模块,http、fs

    2. 自定义的模块 - 自己写好的一个js文件,直接导入就能用

      // 总结
      // 自定义模块就是一个js文件 - 自己写一个文件
      // 希望别人能使用的自己的数据暴露出来 - 导出
      // 导出语法:module.exports = 对象 // 这个对象可以让别人使用
      
      // 导入:require("文件路径")
      // 1.路径要写全, ./  千万不能省略
      // 2.文件后缀可以省略
      // 3.导入接收以后,接收到的是什么?就是导出的那个exports对象
      
    3. 第三方模块 - 官方没有提供,但是比较常用,雷锋就把这个东西封装好了,只需要下载使用就好了

      // 有的项目中需要一些强大的功能,需要node的模块,但是官网没有提供,有的大神为了方便大家使用,将自己以前写过的自定义模块公布了出来,方便大家都能使用 - 雷锋
      // 怎么确保这个模块存在?需要将这个模块文件拿到自己项目中来 - 进行下载安装
      npm i 模块名 // 只要你能想到的跟js有关的文件或插件、框架、或库都可以
      导入
      使用
      

    模块的使用步骤

    1. 下载安装 - 保证模块是存在的
    2. 导入
    3. 使用这个模块

    node怎么运行?

    1. 就像控制台一样运行 - 基本不用,因为代码不能持久

      node
      运行js代码
      
    2. 直接运行js文件 - 非常常用

      node 文件路径
    3. 下载工具npm

      安装好node之后,node会给咱们自带一个下载模块的工具,叫做npm,如何测试自己能用这个工具呢?在命令行中输入npm -v,如果能出现一个版本号,说明这个工具就能用了

      npm如何下载模块?(第三方模块)

      npm install 模块名称
      npm i 模块名称
      

      下载好后会在命令所在文件夹生成一个node_modules文件夹,里面放的就是咱们下载好的所有模块。

      jquery从版本1之后,就不兼容ie8了。想兼容ie8,必须下载jquery版本1。

      npm默认下载的是最新版本,如何下载指定的版本?

      npm i 模块名称@版本号 # 只写大版本也可以,模块名称相同,会覆盖
      

      npm卸载(删除)

      npm uninstall 模块名称
      

      项目中使用jquery,项目有要求:兼容到ie8。npm默认下载是新版本,不能兼容ie8,所以需要安装jquery版本1,版本1可以兼容ie8。

      jquery为什么好?兼容所有浏览器,不用单独做兼容处理。

      npm初始化

      其实就是生成一个package.json文件,这个文件用来记录项目中所有需要的模块。

      注意:node_modules文件夹,这个文件夹目录结构很深,文件有可能在很深的文件夹中。这个文件夹在移动或复制的过程中,容易丢失一些文件。

      为什么要移动或复制呢?因为开发是在本地文件夹中开发,等到开发好,会放到服务器中让他运行,这样就不可避免要移动或复制node_modules文件夹。如果有文件丢失,就有可能造成项目的无法运行。

      npm初始化只有得到的package.json文件中记录了项目用过的依赖的模块,在项目移动的时候,不需要移动node_modules文件夹,只需要移动package.json这个文件就行了。

      例:

         整个demo文件夹就是在本地开发好的项目,在项目开发之前,先进行npm init -y来进行初始化,接下来下载依赖模块进行开发。

      npm i jquery 安装jquery依赖模块

               项目开发完了,要将项目传到服务器了。正常来说,应该要将整个demo文件夹移动到服务器上,但是node_modules文件夹在移动过程中容易丢失文件,造成项目无法运行,所以有了package.json就不需要移动node_modules了,只需要把package.json移动了就行。

              接下来,在package.json所在文件夹打开命令行执行安装所有依赖包的命令:npm i

              下载的时候,有时候会加参数:--save-dev-g 、-g参数,是在下载工具的时候使用的

               jquery是工具吗?不是。为什么?因为jquery不能在命令行执行这个命令。

              那什么是工具?当下载好以后,在命令行能运行这个命令的,就是工具。比如:gulp、sass、nodemon、....

      --save-dev参数,在本地开发项目的时候,用到过这个模块,但是,项目上线之后是不需要这个模块的,这时候加这个参数。开发项目的时候,需要使用gulp模块来打包项目,但是在项目打包好以后,项目需要放到服务器运行了,项目在服务器上还需要gulp模块来打包项目吗?不需要,正常下载的模块都会记录在package.json文件中,当在服务器上进行npm i下载所有依赖包的时候,会安装这个包,如果在服务器中有些包不希望安装了,就加这个参数。

      总结:

      npm下载:npm i 模块名称[@版本] [-g|--save-dev]

      npm卸载:npm uninstall 模块名称 [-g]

      npm初始化:npm init -y 不能在中文文件夹名称中执行这个命令

      将package.json移动到服务器中,安装所有依赖模块:npm i

      如果在服务器中进行npm i的时候,发现加了--save-dev的包也安装上了,这时候可以考虑修改npm的配置来实现正常的安装:npm config set production true,就可以了

      nrm网速管理工具

      有一个工具叫做nrm,可以用来管理网速。

      首先需要下载这个工具:npm i nrm -g

      如何测试是否下载成功?nrm --version,如果能出现版本号,说明下载成功了

      nrm测试下载的链接使用的是哪一个,网速怎么样

      查看当前使用的下载链接,并查看网速怎么样:nrm test

      毫秒最短的,表示网速最快,默认情况下,npm下载的链接地址是npm,npm下载的速度比较慢,npm的服务器在国外。taobao和cnpm的服务器在国内。

      为了有更快的下载速度,npm默认会有缓存,如果有一次下载失败了,也会有缓存,当你下一次下载的时候会失败,这是因为缓存引起的。切换下载地址:nrm use 地址名称

      清除缓存:npm cache clean -f

  • 相关阅读:
    u-boot启动流程分析(1)_平台相关部分
    Linux文件系统简介
    PHP将部分内容替换成星号
    自制jQuery焦点图切换简易插件
    一次解决页面特效问题的排查记录
    自制jQuery标签插件
    一套后台管理html模版
    自制jquery可编辑的下拉框
    注册页面的一些记录
    CSS选择器的一些记录
  • 原文地址:https://www.cnblogs.com/moluxi/p/13025592.html
Copyright © 2011-2022 走看看