node ---1

1-----node简介
2—模块化
3—node的API
4----导入
5----fs文件
6—导出
node其实是一个平台,使用c++开发。
node提供了一种运行环境。让js可以运行在服务器上。
2----模块化

1、模块化为了工作方便,合作化开发

导出
	export var a=123;
	export {a,b,c};
	export {a as b}

导入
	import{a,b};
	import{ a as a1,b} from '文件地址'

	import命令具有提升效果,会提升到整个作用域的最前面
	import * as 变量(存储的是所有导入的变量) from '文件地址';整体加载

匿名导出
	export default

导入的时候,名字可以自定义 import  变量名 from '地址'

3—node的API

// window是在客户端的时候需要,在服务器端没有这个概念。有了global对象
// js的基础语法ECMAScript在node里面是可以使用 dom和bom不能使用
//全局对象
global.console.log(11);

// 单次定时器和多次定时器都可以使用
// var timer=setInterval(()=>{
// 	console.log(111)
// },1000);
// setTimeout(()=>{
// 	clearInterval(timer)
// },3000)
// ctrl+c终止代码执行
// 上/下方向箭头 可以找到之前的指令
// 当前文件所在目录
console.log('dirnmae='+__dirname);
// 文件地址
console.log('filename'+__filename);
// 操作系统信息
console.log(process.arch);
// 数组 第一个值代表的是node安装地址  第二个值当前文件地址
console.log(process.argv);
// node内部没有集成那么多模块,有些模块需要专门引入
// 使用require引入模块
const path=require('path');

// path.extname得到的是文件后缀
// console.log(path.extname(__filename));
// 如果是一个目录,没有后缀。
// console.log(path.extname(__dirname));

// path.dirname获取的是当前文件所在的目录
// console.log(path.dirname(__filename));
// console.log(path.dirname(__dirname));

// 解析地址,把字符串转化为对象
// console.log(path.parse(__filename))
// var parse=path.parse(__filename);
// format解析地址 把对象转化为字符串
// var format=path.format(parse);
// console.log(format);


// absolute判断是否是绝对路径 服务器环境下 目录最前面有/就是绝对路径

// console.log(path.isAbsolute('/foo/bar'))
// console.log(path.isAbsolute('/baz/..'))
// console.log(path.isAbsolute('qux/')    )
// console.log(path.isAbsolute('.')       )


// path.join()拼接路径并且自动解析
// ..向上一级
// console.log(path.join(__dirname,'my','txt.txt','..','..'));


// normalize解析路径
// console.log(path.normalize('C:\\temp\\\\foo\\bar\\..\\'))

// path.relative(from,to)从第一个路径如何找到第二个路径
// console.log(path.relative('C:\\orandea\\test\\aaa', 'C:\\orandea\\impl\\bbb'))

// 包含了path常用的一些方法
console.log(path.posix);

4----导入

// 导入的时候使用require()./代表的是当前目录


// 如果直接写模块名 ,
// 会去node_modules文件夹寻找模块a(文件夹的名字是a),
// 把文件夹a内部的index.js作为主入口(如果想要别的文件作为入口文件,引入package.json文件配置main属性:"主文件名字")
var n=require('a');
console.log(n);

年 月 日

var formdate=require('formatDate');
console.log(formdate(new Date()))

module.exports=function(date){
    var year=date.getFullYear();
    var month=date.getMonth()+1;
    var day=date.getDate();
    var hour=date.getHours();
    var minute=date.getMinutes();
    var second=date.getSeconds();
    return`${year}${month}${day}${hour}${minute}${second}秒`
}

5----fs文件

const fs=require('fs');
const path=require('path');
// 创建文件夹
// fs.mkdir(文件地址,(err)=>{成功以后的回调})

// fs.mkdir(path.join(__dirname,'my'),(err)=>{
// 	if(err) throw err;
// 	console.log('文件夹创建成功')
// })


// 删除文件夹  fs.rmdir(文件地址)
// fs.rmdir(('./my'),(err)=>{
// 	if(err) throw err;
// })

// 读文件夹/目录 fs.readdir(文件地址,成功以后的回掉函数)
// fs.readdir(__dirname,(err,files)=>{
// 	if(err) throw err;
// 	console.log(files);
// })

// 检测文件状态,检测文件是目录还是文件。
// fs.stat(文件地址,(err,stats)=>{判断状态})
fs.stat(__filename,(err,stats)=>{
	// stats.isDirectory()检测是否是文件夹 true/false
	// stats.isFile()检测是否是文件 true/false

	console.log(stats.isDirectory());
})

// 读取当前目录,判断当前目录下每一个文件的状态。
fs.readdir(path.join(__dirname,'mytest/src'),(err,files)=>{
    if(err) throw err;
    console.log('11111111');
    files.forEach((item,index)=>{
        fs.stat(path.join(__dirname,'mytest/src',item),(err,stats)=>{
                if(stats.isDirectory()){
                    console.log(item+'目录');
                }else{
                    console.log(item+'文件');
                }
        })
    })
})

6—导出

// 导出 module.exports如果多次导出,值以最后一次为准
// module.exports='hello';
// module.exports='welcome'

// exports.变量名 多次导出
exports.m='hellow';
exports.n='welcome';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值