Node.js(黑马)笔记01--day1--最简单的node执行脚本,readFile,创建服务器,核心模块,IP地址和端口号,编码格式g、get,post,路由,静态资源

0、webstom2020解决node代码不自动提示及显示警告的bug

完美解决Webstorm不支持nodejs等语法提示和补全

https://blog.csdn.net/Dobility/article/details/87563057

1、最简单的node执行脚本

创建一个js文件

var foo="hello world"
console.log(foo)

直接在cmd中进行编译执行
node xxx.js
直接会输出foo的内容

2、fs.readFile关于读文件

node里没有文件操作,要向进行读文件操作就必须映入fs核心模块
格式
fs.readFile(“内容字符串”,回到函数)

var fs=require('fs')

成功:
文件写入成功:
data是数据
error是null

失败:
文件写入失败
data是undefined没有数据
error是错误对象

案例

var fs=require('fs')//导入fs模块用于读文件操作

fs.readFile('hello.txt',function(error,data){
   
	console.log(data.toString())
})

改进:

var fs=require('fs')

fs.readFile('hellos.txt',function(error,data){
   
	if(error){
   
		console.log("读取文件失败")
	}else{
   
		console.log(data.toString())
	}
	
})
3、fs.writeFile写文件

格式:
fs.writeFile(“写入文件url”,“写入内容”,回调函数)

  • 成功:
    文件写入成功:
    error是null

  • 失败
    文件写入失败
    error就是错误对象

var fs=require('fs')

fs.writeFile("sayhello.txt","大家好,我是node.js",function(error){
   
	console.log("文件写入成功")
})

改进

var fs=require('fs')

fs.writeFile("sayhello.txt","大家好,我是node.js",function(error){
   
	if(error){
   
		console.log("写入失败")
	}else{
   
		console.log("写入成功")
	}
})
3.1、path模式拼接路径

根据服务器所使用的不同系统,拼接路径(斜杠方式不一样)

const fs= require('fs');
const path=require('path')

let newpath=path.join('e:','myproject')
console.log(newpath)

输出结果:
e:\myproject

3.2、path模式下通过__dirname获取路径

__dirname获得node当前目录

const fs= require('fs');
const path=require('path')

fs.readFile(path.join(__dirname,'b.js'),'utf8',(err,doc)=>{
   
  console.log(err)
  console.log(doc)
})
3.3、gulp 报异步错误

gulp时,node报node did you forget to signal async completion错误

使用ruturn 返回gulp

参考文章

const gulp=require('gulp');
const htmlmin=require('gulp-htmlmin');
const fileinclude=require('gulp-file-include')
const less=require('gulp-less')
gulp.task('first',()=>{
   
  console.log('人生中的第一个gulp任务');
  return gulp.src('./src/css/base.css')
    .pipe(gulp.dest('dist/css'));

});

gulp.task('htmlmin',()=>{
   
  return gulp.src('./src/*.html')
    .pipe(fileinclude())
    //压缩html文件中的代码
    .pipe(htmlmin({
   collapseWhitespace: true}))
    .pipe(gulp.dest('dist'));

})
//less语法转换,css代码压缩
gulp.task('cssmin',()=>{
   
  //选择css目录下的所有lss文件及css文件
  return gulp.src(['./src/css/*.less','./scr/css/*.css'])
    //将less语法转换为css语法
    .pipe(less())
    //将css代码进行压缩
    .pipe(csso())
    //将处理的结果进行输出
    .pipe(gulp.dest('dist/css'))
})

4、node创建服务器

1、加载htpp核心模块

var myhttp=require('http');

2、使用http.createServer()创建一个web服务器,返回一个server实例

var server=myhttp.createServer();

3、服务器的作用

  • 提供数据服务
  • 发请求
  • 接收请求
  • 处理请求
  • 给个反馈(发送响应)
  • 注册request请求事件
  • 当客户端请求过来,就会自动触发服务器的request请求事件,然后执行第二个参数(回调函数):
server.on('request', function (request,response) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值