Node基础学习笔记01--node基础

1、node的模块导出

被导出的模块helloworld.js

const add=(n1,n2)=>n1+n2;
exports.add=add;//第一个add是export对象的属性,第二个add是自定义的函数

导入的模块moudle.js

let a=require('./helloworld')//导入响应的模块文件
console.log(a.add(34,5))
2、模块成员导出的另外一个方法

被导出的模块helloworld.js

let version='1.0';
let sayhi=function(n1,n2){
  let result=n1+n2;
  console.log('hi'+result)
}

module.exports.version=version;
module.exports.sayhi=sayhi;

导入的模块moudle.js

let a=require('./helloworld')
console.log(a.sayhi(34,5))
console.log(a.version)

又或
被导出的模块helloworld.js

const greeting=name=>`hello ${name}`;//注意这里是反引号,不是单引号
module.exports.greeting=greeting;

导入的模块moudle.js

let a=require('./helloworld')
console.log(a.greeting('zhangsan'))

exports是module.exports的别名,但是当exports和module.exports指向的不是同一个对象的时候,以module.exports为准

3、系统模块fs文件读取操作

被读取的文件helloworld.js

const greeting=name=>`hello ${name}`;//注意这里是反引号,不是单引号
module.exports.greeting=greeting;

读取文件的语法格式
const fs=require(‘fs’);
fs.readFile(’./helloworld.js’,‘utf-8’,callback())

const fs=require('fs');//引用系统模块
fs.readFile('./helloworld.js','utf-8',(err,doc)=>{
  if (err==null){//如果文件读取错误err的值为null,如果读取成功,doc是文件内容
    console.log(doc)
  }
})
3、系统模块fs文件写入操作

fs.writeFile(‘路径/文件名称’,‘数据’,callback)

const fs=require('fs');
let content='here is some words i want to say';
fs.writeFile('./helloworld.js',content,err=>{
  if (err!==null){
    console.log(doc)
    return
  }
  console.log('file is writen successfully')
})
4、系统模块path路径操作

不同操作系统的路径分隔符不一样,因此要只能判断一下服务器的操作系统来决定使用斜杠还是反斜杠

4.1、路径拼接语法

path.join(‘path1’,‘path2’)

const path=require('path');
let finnalPath=path.join('itcast','a','b','c')
console.log(finnalPath)
4.2、相对路径vs绝对路径

相对路径有时候相对的是命令行工具的当前工作目录
在读取文件或设置文件路径时都会选择绝对路径
使用__dirname获取当前文件所在的绝对路径

const path=require('path');
let finnalPath=path.join(__dirname,'itcast','a','b','c')//注意是两个下划线组成的__dirname
console.log(finnalPath)
4.3、获取第三方模块

使用npm install 模块名称 安装模块
使用npm uninstall 模块名称 卸载模块

本地安装与全局安装(所有项目都可以使用,实际上在服务器范围内安装)

5、第三方模块nodemon

nodemon是一个命令行工具,用来取代node,可以在线直接执行,不要每次都编译执行

安装:npm install nodemon -g
以后执行直接使用 nodemon 模块名执行
退出nodemon使用ctrl+c

6、第三方模块nrm

替代npm,是npm的下载地址切换工具
安装:npm install nrm -g

使用 npm ls查看可用地址
使用nrm use taobao 使用淘宝下载源

7、第三方模块Gulp

基于node平台开发的前端构建工具,将机械化操作编写成任务,然后自动去执行(有点封装复用的概念),用来提高开发效率

能做什么呢
项目上线,html,css,js文件压缩合并
语法转换es6,less
公共文件抽离
修改文件浏览器自动刷新

8、Gulp的使用
  • 使用npm install gulp下载gulp库文件
  • 在项目根目录下建立gulpfile.js文件**(约定文件名,不得修改)**
  • 重构项目文件夹结构,src目录放置源代码文件,dist目录放置构建后文件。
  • 在gulpfile.js中编写任务
  • 在命令行工具中执行gulp任务
9、Gulp中提供的方法

gulp.src():获取任务要处理的文件
gulp.dest():输出文件
gulp.task():建立gulp任务
gulp.watch():监控文件的变化

gulpfile.js

//引入第三方gulp模块
const gulp=require('gulp')
//使用gulp.task创建任务
gulp.task('first',()=>{//first 是任务的名称,第二个是回调函数
  console.log('my first gulp task')
  //获取要处理的文件
  gulp.src('./src/css/base.css')
    //将处理好的文件输出到dist目录
    .pipe(gulp.dest('./dist/css'))//pipe是处理的意思,
})

执行这个gulpfile.js需要下载一个命令行工具(脚手架)

npm install gulp-cli -g

在命令行下执行任务:
gulp 任务名称

gulp first
9、Gulp插件

官网:npmjs.com

  • gulp-htmlmin:html文件压缩
  • gulp-css:css文件压缩
  • gulp-babel:JavaScript语法转化
  • gulp-less:less语法转化
  • gulp-gulify:压缩混淆javascript
  • gulp-fileinclude公共文件包含
  • browsersync浏览器实时同步

使用方法
下载,引入,调用插件
npm install gulp-htmlmin

 const htmlmin=require('gulp-htmlmin')
const gulp=require('gulp')

gulp.task('htmlmin',()=>{
  gulp.src('./src/*.html')
    //压缩html文件中的代码
    .pipe(htmlmin({collapseWhitespace: true}))//是否压缩空格
 })
10、package.json文件作用

记录了锁依赖的第三方模块
npm init 初始化package.json文件
参见之前写的代码,俩月了,都快忘了看过了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值