node知识点小结(一),web前端开发官网

42 阅读4分钟

cnpm装出来的包比较乱,不影响使用。一般网络情况允许的情况下,还是使用npm

cnpm安装 npm install -g cnpm --registry=registry.npm.taobao.org

cnpm功能和npm一样,使用方法一样只是多了一个c cnpm install

安装 cnpm install 文件名字@版本号 写依赖-S/-D/-g

包管理工具只是node的一个功能而已。

模块化可以看另一篇文章:blog.csdn.net/weixin\_530…

4、执行node文件

执行js相当于在服务器环境下执行: node 文件名 终止代码ctrl+c

执行文件的时候,找到文件所在目录,直接在node环境下(或者在目录下cmd,前提要有node环境)执行文件或者文件名字,不能取node

5、global

global是全局对象,可以直接使用,不需要单独引入.

node文件相当于是服务器的不是客户端的

服务器端没有了window,有global

global相当于客户端中的window

global.console.log('这是打印信息');

定时器例子:

global.setInterval(function(){

console.log(1111);

}, 1000)

global.setTimeout(()=>{

console.log('这是单次定时器')

}, 100)

6、寻找路径

当前文件所在目录

console.log(__dirname);

当前文件地址

console.log(__filename);

7、const fs

导入模块

const xxx =require(‘模块’)

require(模块) 首先判断是否有模块。

内置的模块一般是已经定义好的。

自己写的或者下载的模块要放在node_modules内部,最后新建该模块的文件夹,因为执行的时候首先会去node_modules内部寻找该模块,找到就进行加载。

一般默认index.js是主入口文件,如果别的文件作为主入口,一定要配置package.json{“main”:“主入口文件”}

如果index.js和package.json同时存在,以package.json配置为准

如果没有package.json和index.js,会报错:Cannot find module “xxx”。

导出则:exports.变量=值

fs是一个内置的模块,需要单独引入。

模块引入的时候,一般使用const

fs是文件系统,一般用来和文件有关的操作

const fs=require('fs');

写文件

fs.writeFile('文件名','数据',(err)=>{})

fs.writeFile('my.xls','hello node',(err)=>{

if(err) throw err;

console.log('文件书写成功')

})

删除文件

fs.unlink('文件名字',(err)=>{})

fs.unlink('./my.xls',(err)=>{

if(err) throw err;

console.log('文件删除成功')

})

读文件

fs.readFile('./my.txt','utf-8',(err,data)=>{

if(err) throw err;

// data默认接收到的数据是buffer。如果需要转化。

// 两种方式1、data.toString() 2、增加参数'utf-8'

console.log(data)

console.log(data.toString())

})

新建文件夹

fs.mkdir('文件夹名字',(err)=>{}) 如果该目录存在,去创建会报错

fs.mkdir('jd',(err)=>{

if(err) throw err;

})

删除目录

fs.rmdir('jd',(err)=>{

if(err) throw err;

})

读取文件夹

fs.readdir(__dirname,(err,files)=>{

if(err) throw err;

// files存储的是当前文件夹下的所有文件

console.log(files);

})

stat获取当前路径的状态

fs.stat(__dirname,(err,stats)=>{

if(err) throw err;

// isFile()判断是否是文件

console.log(stats.isFile());

// isDirectory()判断是否是目录

console.log(stats.isDirectory())

})

8、创建文件并进行遍历输出名称

创建淘宝文件夹以及里面其他文件

const fs=require('fs');

function demo(proname){

return {

proName:proname,

prolist:[

{

name:'css',

这里分享一份由字节前端面试官整理的「2021大厂前端面试手册」,内容囊括Html、CSS、Javascript、Vue、HTTP、浏览器面试题、数据结构与算法。全部整理在下方文档中,共计111道

HTML

  • HTML5有哪些新特性?

  • Doctype作⽤? 严格模式与混杂模式如何区分?它们有何意义?

  • 如何实现浏览器内多个标签页之间的通信?

  • ⾏内元素有哪些?块级元素有哪些? 空(void)元素有那些?⾏内元 素和块级元素有什么区别?

  • 简述⼀下src与href的区别?

  • cookies,sessionStorage,localStorage 的区别?

  • HTML5 的离线储存的使用和原理?

  • 怎样处理 移动端 1px 被 渲染成 2px 问题?

  • iframe 的优缺点?

  • Canvas 和 SVG 图形的区别是什么?

JavaScript

  • 问:0.1 + 0.2 === 0.3 嘛?为什么?

  • JS 数据类型

  • 写代码:实现函数能够深度克隆基本类型

  • 事件流

  • 事件是如何实现的?

  • new 一个函数发生了什么

  • 什么是作用域?

  • JS 隐式转换,显示转换

  • 了解 this 嘛,bind,call,apply 具体指什么

  • 手写 bind、apply、call

  • setTimeout(fn, 0)多久才执行,Event Loop

  • 手写题:Promise 原理

  • 说一下原型链和原型链的继承吧

  • 数组能够调用的函数有那些?

  • PWA使用过吗?serviceWorker的使用原理是啥?

  • ES6 之前使用 prototype 实现继承

  • 箭头函数和普通函数有啥区别?箭头函数能当构造函数吗?

  • 事件循环机制 (Event Loop)

开源分享:docs.qq.com/doc/DSmRnRG…