阿里面试被拒,50 个让你高效编程的前端轮子,不断提升自己创造溢价的能力

https://www.npmjs.com/package/vuex-persistedstate

==功能==:

npm install --save vuex-persistedstate

import createPersistedState from ‘vuex-persistedstate’;

import * as Cookies from ‘js-cookie’;

import cookie from ‘cookie’;

export default ({ store, req }) => {

createPersistedState({

paths: […],

storage: {

getItem: (key) => {

// See https://nuxtjs.org/guide/plugins/###using-process-flags

if (process.server) {

const parsedCookies = cookie.parse(req.headers.cookie);

return parsedCookies[key];

} else {

return Cookies.get(key);

}

},

// Please see https://github.com/js-cookie/js-cookie###json, on how to handle JSON.

setItem: (key, value) =>

Cookies.set(key, value, { expires: 365, secure: false }),

removeItem: key => Cookies.remove(key)

}

})(store);

};

vue-slider-component

https://github.com/NightCatSama/vue-slider-component/blob/master/README-CN.md

==功能==:一个高度定制化的滑块组件

$ yarn add vue-slider-component

### npm install vue-slider-component --save

CodeMirror

https://www.npmjs.com/package/codemirror

==功能==:CodeMirror是使用JavaScript为浏览器实现的多功能文本编辑器。它专门用于编辑代码,并具有100多种语言模式和各种插件,可实现更高级的编辑功能。每种语言都带有功能齐全的代码和语法高亮显示,以帮助阅读和编辑复杂代码。

vue-codemirror

https://www.npmjs.com/package/vue-codemirror

==功能==:

<codemirror

ref=“editQuerySQL”

@ready=“onCodemirrorReady”

@input=“onCodemirrorInput”

v-model=“query.sql”

:options=“cmOptions”

import { codemirror } from ‘vue-codemirror’;

import { getEthdb } from ‘@/api’;

import ‘codemirror/lib/codemirror.css’;

import ‘codemirror/theme/idea.css’;

// import ‘codemirror/theme/base16-dark.css’;

import ‘codemirror/theme/panda-syntax.css’;

import ‘codemirror/addon/hint/show-hint.css’;

import ‘codemirror/lib/codemirror’;

import ‘codemirror/mode/sql/sql’;

import ‘codemirror/addon/hint/show-hint’;

import ‘codemirror/addon/hint/sql-hint’;

export default {

data(){

retrun {

query: {

sql: ‘SELECT * FROM ethblock LIMIT 200’,

},

cmOptions: {

scroll: false,

tabSize: 4,

lineNumbers: false,

line: false,

indentWithTabs: true,

smartIndent: true,

autofocus: false,

mode: ‘text/x-mariadb’,

theme: ‘idea’,

hintOptions: {

completeSingle: false,

},

},

}

},

methods:{

onCodemirrorReady(cm) {

cm.on(‘keypress’, () => {

cm.showHint();

});

},

onCodemirrorInput(newQuery) {

this.query.sql = newQuery;

},

}

}

portfinder || get-port node

https://www.npmjs.com/package/portfinder

https://www.npmjs.com/package/get-port

==功能==:端口查看器

[sudo] npm install portfinder

portfinder.getPort({

port: 3000,    // minimum port

stopPort: 3333 // maximum port

}, callback);

regedit node

https://www.npmjs.com/package/regedit

==功能==:使用node.js和Windows脚本宿主对Windows注册表进行读取,写入,列出和处理各种时髦的事情。

lowdb

https://www.npmjs.com/package/lowdb

==功能==:适用于Node,Electron和浏览器的小型JSON数据库。由Lodash驱动。⚡️

npm install lowdb

const low = require(‘lowdb’)

const FileSync = require(‘lowdb/adapters/FileSync’)

const adapter = new FileSync(‘db.json’)

const db = low(adapter)

// Set some defaults

db.defaults({ posts: [], user: {} })

.write()

// Add a post

db.get(‘posts’)

.push({ id: 1, title: ‘lowdb is awesome’})

.write()

// Set a user using Lodash shorthand syntax

db.set(‘user.name’, ‘typicode’)

.write()

cheerio node

https://github.com/cheeriojs/cheerio/wiki/Chinese-README

==功能==:为服务器特别定制的,快速、灵活、实施的jQuery核心实现. 爬虫

npm install cheerio

const cheerio = require(‘cheerio’);

const $ = cheerio.load(‘

Hello world

’);

$(‘h2.title’).text(‘Hello there!’);

$(‘h2’).addClass(‘welcome’);

$.html();

//=> 

Hello there!

libxmljs

https://github.com/libxmljs/libxmljs/wiki

==功能==:解析xml

node-fetch、 got node

https://github.com/node-fetch/node-fetch

https://github.com/sindresorhus/got###readme

==功能==:node-ajax

ora node

https://www.npmjs.com/package/ora

==功能==:优雅的终端旋转器

const ora = require(‘ora’);

const spinner = ora(‘Loading unicorns’).start();

setTimeout(() => {

spinner.color = ‘yellow’;

spinner.text = ‘Loading rainbows’;

}, 1000);

node-mkdirp 、rimraf node

https://github.com/substack/node-mkdirp

https://www.npmjs.com/package/rimraf

==功能==:Like mkdir -p UNIX 命令 rm-rf . nodejs 新建创建文件

var mkdirp = require(‘mkdirp’);

mkdirp(‘/tmp/foo/bar/baz’, function (err) {

if (err) console.error(err)

else console.log(‘pow!’)

});

shelljs

https://www.npmjs.com/package/shelljs

==功能==:hellJS是在Node.js API之上的Unix shell命令的可移植(Windows / Linux / OS X)实现。您可以使用它消除shell脚本对Unix的依赖,同时仍然保留其熟悉而强大的命令。您还可以全局安装它,以便可以从Node项目外部运行它-告别那些讨厌的Bash脚本!

var shell = require(‘shelljs’);

if (!shell.which(‘git’)) {

shell.echo(‘Sorry, this script requires git’);

shell.exit(1);

}

// Copy files to release dir

shell.rm(‘-rf’, ‘out/Release’);

shell.cp(‘-R’, ‘stuff/’, ‘out/Release’);

// Replace macros in each .js file

shell.cd(‘lib’);

shell.ls(‘*.js’).forEach(function (file) {

shell.sed(‘-i’, ‘BUILD_VERSION’, ‘v0.1.2’, file);

shell.sed(‘-i’, /^.REMOVE_THIS_LINE.$/, ‘’, file);

shell.sed(‘-i’, /.REPLACE_LINE_WITH_MACRO.\n/, shell.cat(‘macro.js’), file);

});

shell.cd(‘…’);

shx

https://www.npmjs.com/package/shx

==功能==:Shx 是一个包装 ShellJS Unix 命令的包装器,为 npm 包脚本中简单的类 Unix 跨平台命令提供了一个简单的解决方案

  • ShellJS: Good for writing long scripts, all in JS, running via NodeJS (e.g. node myScript.js).

  • shx: Good for writing one-off commands in npm package scripts (e.g. “clean”: “shx rm -rf out/”).

npm install shx --save-dev

package.json:

{

“scripts”: {

“clean”: “shx rm -rf build dist && shx echo Done”

}

}

node-ssh

https://github.com/steelbrain/node-ssh###readme

==功能==:Node-SSH 是 ssh2的一个非常轻量级的 Promise 包装器。

chalk

https://github.com/chalk/chalk

==功能==:给终端嵌套您想要的样式。

const chalk = require(‘chalk’);

const log = console.log;

// Combine styled and normal strings

log(chalk.blue(‘Hello’) + ’ World’ + chalk.red(‘!’));

// Compose multiple styles using the chainable API

log(chalk.blue.bgRed.bold(‘Hello world!’));

// Pass in multiple arguments

log(chalk.blue(‘Hello’, ‘World!’, ‘Foo’, ‘bar’, ‘biz’, ‘baz’));

// Nest styles

log(chalk.red(‘Hello’, chalk.underline.bgBlue(‘world’) + ‘!’));

// Nest styles of the same type even (color, underline, background)

log(chalk.green(

'I am a green line ’ +

chalk.blue.underline.bold(‘with a blue substring’) +

’ that becomes green again!’

));

Nzh

https://blog.whyoop.com/nzh/docs/###/

==功能==:适用于需要转换阿拉伯数字与中文数字的场景。特点如下:

  • 以字符串的方式转换,没有超大数及浮点数等问题(请自行对原数据进行四舍五入等操作)

  • 支持科学记数法字符串的转换

  • 支持口语化

  • 支持自定义转换(不论是兆,京还是厘都可以用)

  • 对超大数支持用争议教少的万万亿代替亿亿

  • 当然,你还可以把中文数字再转回阿拉伯数字

npm install nzh --save

var Nzh = require(“nzh”);

var nzhcn = require(“nzh/cn”); //直接使用简体中文

var nzhhk = require(“nzh/hk”); //繁体中文

var nzhcn = Nzh.cn;                 // 使用简体中文,  另外有 Nzh.hk – 繁体中文

nzhcn.encodeS(100111);              // 转中文小写 >> 十万零一百一十一

nzhcn.encodeB(100111);              // 转中文大写 >> 壹拾万零壹佰壹拾壹

nzhcn.encodeS(“1.23456789e+21”);    // 科学记数法字符串 >> 十二万三千四百五十六万万七千八百九十万亿

nzhcn.toMoney(“100111.11”);         // 转中文金额 >> 人民币壹拾万零壹佰壹拾壹元壹角壹分

decko

https://github.com/developit/decko

节流 防抖https://blog.csdn.net/qq_2955…功能:三个最有用的装饰器的简洁实现:

  • @bind:this在方法内使常量的值

  • @debounce:限制对方法的调用

  • @memoize:根据参数缓存返回值

npm i -S decko

p-queue

https://github.com/sindresorhus/p-queue###readme

==功能==:对限制速率的异步(或同步)操作很有用。例如,在与REST API交互时或在执行CPU /内存密集型任务时。

const {default: PQueue} = require(‘p-queue’);

const got = require(‘got’);

const queue = new PQueue({concurrency: 1});

(async () => {

await queue.add(() => got(‘https://sindresorhus.com’));

console.log(‘Done: sindresorhus.com’);

})();

(async () => {

await queue.add(() => got(‘https://avajs.dev’));

console.log(‘Done: avajs.dev’);

})();

(async () => {

const task = await getUnicornTask();

await queue.add(task);

console.log(‘Done: Unicorn task’);

})();

sleep

https://www.npmjs.com/package/sleep

==功能==:sleep

npm i sleep

var sleep = require(‘sleep’);

function msleep(n) {

Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, n);

}

function sleep(n) {

msleep(n*1000);

}

delay

https://github.com/sindresorhus/delay###readme

==功能==:将承诺推迟一定的时间

npm install delay

const delay = require(‘delay’);

(async () => {

bar();

await delay(100);

// Executed 100 milliseconds later

baz();

})();

better-scroll

https://github.com/ustbhuangyi/better-scroll

==功能==:BetterScroll 是一款重点解决移动端(已支持 PC)各种滚动场景需求的插件。它的核心是借鉴的 iscroll 的实现,它的 API 设计基本兼容 iscroll,在 iscroll 的基础上又扩展了一些 feature 以及做了一些性能优化。

https://better-scroll.github.io/docs/zh-CN/guide/###betterscroll-%E6%98%AF%E4%BB%80%E4%B9%88

create-keyframe-animation

https://github.com/HenrikJoreteg/create-keyframe-animation

==功能==:使用JavaScrip在浏览器中动态生成CSS关键帧动画(不维护了)

vconsole

https://github.com/Tencent/vConsole/blob/HEAD/README_CN.md

==功能==:一个轻量、可拓展、针对手机网页的前端开发者调试面板。

源自:https://segmentfault.com/a/1190000038589634
The End
欢迎自荐投稿到《前端技术江湖》,如果你觉得这篇内容对你挺有启发,记得点个 **「在看」**哦
点个『在看』支持下 

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

最后

面试题千万不要死记,一定要自己理解,用自己的方式表达出来,在这里预祝各位成功拿下自己心仪的offer。

大厂面试题

面试题目录

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-k1y85E1Y-1712591204267)]
[外链图片转存中…(img-RdR1Bqzy-1712591204268)]
[外链图片转存中…(img-xgiKVVzu-1712591204268)]
[外链图片转存中…(img-4SYetZ2K-1712591204269)]
[外链图片转存中…(img-AjH7CVPN-1712591204269)]
[外链图片转存中…(img-DLocXcLq-1712591204269)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-Th4cQA0o-1712591204270)]

最后

面试题千万不要死记,一定要自己理解,用自己的方式表达出来,在这里预祝各位成功拿下自己心仪的offer。

[外链图片转存中…(img-ZvRy9Q0l-1712591204270)]

[外链图片转存中…(img-ublO1fTN-1712591204270)]

[外链图片转存中…(img-qvBG0m7h-1712591204271)]

[外链图片转存中…(img-r5aV6gxi-1712591204271)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-uBOV0WTq-1712591204271)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值