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)