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前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
最后
面试题千万不要死记,一定要自己理解,用自己的方式表达出来,在这里预祝各位成功拿下自己心仪的offer。
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
因此收集整理了一份《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)]