node基础知识学习一

概念

node–基于 ChromeV8 的代码运行环境

node 环境安装失败

  • 2503/2502 错误代码
    1. 以管理员身份运行 powershell
    2. 输入运行安装包命令 msiexec/package node 安装包位置
  • 无法将 node 识别为 cmdlet
    1. 系统会自动将 node 的安装目录放在环境变量中
    2. 系统环境变量 path—查找目录中 node.exe

node

  • 组成:ecmascript node 附加 api
  • 可以使用 js 语法
  • global 是全局对象

nodejs 模块化开发

  • exports 对象导出成员
  • require 导入模块文件 返回 exports 对象 注意:require 的相对路径就是相对于当期路径
  • require 查找规则
    1. 带路径的模块名字:
      • require 方法接收相对路径,相对于当前文件
      • 先找同名 JS 文件再找同名 JS 文件夹
      • 找文件夹中 index.js 否则去 package.js 中查找 main 选项确定入口文件
      • 否则找不到报错
    2. 不带路径的模块名字:
      • Node.js 会假设它是系统模块
      • Node.js 会去 node_modules 文件夹中
        • 首先看是否有该名字的 JS 文件
        • 再看是否有该名字的文件夹
        • 如果是文件夹看里面是否有 index.js
        • 如果没有 index.js 查看该文件夹中的 package.json 中的 main 选项确定模块入口文件
        • 否则找不到报错
  • module.exports.属性 等价 exports.属性
    1. 当这两个指向的不是同一个对象时,以 module.exports 为准
    2. exports=对象 不支持

系统模块

  • 文件模块 fs
    1. 读取文件 fs.readFile(‘文件路径/文件名称’[,‘文件编码’],callback(err,doc)) // err 存取的是错误信息 doc 文件内容 错误优先的回调函数;
    2. 写入文件 fs.writeFile(‘文件路径/文件名称’,‘数据’,callback(err,doc))// err 存取的是错误信息 doc 文件内容
    • 如果没有这个文件,系统会自动为我们创建这个文件
  • 路径模块 path
    1. 不同操作系统的路径分隔符不统一
    2. windows 上面是\ / 都可以
    3. Linux 上是 /
    4. 实际运用场景:头像上传路径拼接
    5. 路径拼接:path.join(‘路径’,‘路径’,…)
    6. 相对路径 绝对路径 大多数情况下使用绝对路径 备注:相对路径是命令行工具的当前路径
    7. __dirname 获取绝对路径

第三方模块 又称为 包

  • js 文件存在,提供 api 接口
  • 命令行工具存在
  • 如何获取第三方模块 npmjs.com:第三方模块的存储和分发仓库 npm:node 的第三方模块管理工具
  • 下载:npm install 模块名称
  • 删除:npm uninstall 模块名称
  • 全局安装与本地安装:
    1. 命令行工具:全局安装
    2. 库文件:本地安装
  • nodemon 是命令行工具,辅助项目开发,更新项目自动执行
  • nrm 是命令行工具,切换 npm 下载地址 nrm ls nrm use taobao
  • gulp 基本使用 打包使用
    gulp.src(),gulp.pipe(),gulp.task()
    1. gulpfile.js
    2. gulp.src(“处理文件路径”)/gulp.task(“处理任务”)/gulp.dest(“任务完成路径”)/gulp.watch()
    3. gulp 插件
      • gulp-htmlmin:html 文件压缩
      • gulp-csso:css 压缩
      • gulp-babel:js 语法转化 6 / 7 两个版本,使用 7 版本
      • gulp-less:less 语法转化
      • gulp-uglify:压缩混淆 js
      • gulp-file-include 公共文件包含
      • browsersync 浏览器实时同步
    4. package.json 记录当前项目信息,包括项目名称,版本,作者,GitHub 地址,依赖了哪些第三方模块 npm init
    5. package-lock.json 锁定包的版本,记录包与包之间的依赖关系
    • 项目依赖:–production
    • 开发依赖:–save-dev

附:gulp.task 时错误解决:

报错:
[15:51:47] The following tasks did not complete: htmlmin
[15:51:47] Did you forget to signal async completion?

  1. 使用 async…await

    • gulp.task(‘htmlmin’, async () => {
      await gulp
      .src(’./src/*.html’)
      .pipe(htmlmin({ collapseWhitespace: true }))
      .pipe(gulp.dest(‘dist’))
      })
  2. 在回调函数里面传入参数 done ,在任务执行完成之后执行 done()

    • gulp.task(‘htmlmin’, done => {
      gulp
      .src(’./src/*.html’)
      .pipe(htmlmin({ collapseWhitespace: true }))
      .pipe(gulp.dest(‘dist’))
      done()
      })
  3. gulp.task() 执行所有的任务
    gulp.task(‘default’, gulp.series([‘htmlmin’, ‘jsmin’]))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值