eslint

How to handle eslint no-param-reassign rule in Array.prototype.reduce() functions

谁说我不能喝 提交于 2020-11-30 06:12:49
问题 I've recently added the eslint rule no-param-reassign. However, when I use reduce to build out an object (empty object as initialValue ), I find myself needing to modify the accumulator (first arg of callback function) on each callback iteration, which causes a no-param-reassign linter complaint (as one would expect it would). const newObject = ['a', 'b', 'c'].reduce((result, item, index) => { result[item] = index; // <-- causes the no-param-reassign complaint return result; }, {}); Is there

把vim打造成适配python和golang的庆亮级编辑器

喜欢而已 提交于 2020-11-25 11:55:06
#!/bin/bash if [ whoami != root ] then echo "Please login as root to continue :)" exit 1 fi if [ ! -d /home/tools/ ];then mkdir -p /home/tools else rm -rf /home/tools && mkdir -p /home/tools fi #Install python3 yum -y install epel-release wget && sudo yum -y groupinstall 'Development Tools' && sudo yum -y install the_silver_searcher sudo yum -y update sudo yum -y install yum-utils sudo rpm -Uvh https://repo.ius.io/ius-release-el7.rpm sudo yum install python36u -y sudo yum -y install python36u-pip python36u-devel #config env mkdir -p /data cd /data python3.6 -m venv venv #Install golang wget -c

“parserOptions.project” has been set for @typescript-eslint/parser

半城伤御伤魂 提交于 2020-11-24 16:32:07
问题 I created a new React Native project with --template typescript I deleted the template directory which came as part of the boilerplate. I then proceeded to add ESLint: module.exports = { parser: "@typescript-eslint/parser", plugins: ["@typescript-eslint"], extends: ["airbnb-typescript-prettier"] }; However, when I open babel.config.js , I get this error Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser. The file does not match your project config: /Users/Dan

基于Visual Studio Code搭建Vue开发环境

落爺英雄遲暮 提交于 2020-11-24 06:56:28
安装node.js最新版 这里安装的是 8.11.4 版 image.png 更新npm至最新版 安装node.js后, npm默认版本为: 6.1.0 image.png 使用 npm install npm -g 更新npm至最新版 image.png 安装vs code 安装过程就忽略了. 安装@vue/cli > npm install -g @vue/cli image.png 创建一个vue-demo-project工程 创建过程中默认配置(开箱即用) image.png image.png 打开工程 image.png 默认情况下, VS code是使用英文的, 有需要的话, 大家也可自行修改为中文: 按下ctrl+p, 输入: > Config , 选择: “Configure Display Language" image.png 将原先的: image.png 修改为: image.png 修改并保存后, 会提示安装语言包, 安装即可: 打开一个 .vue 的文件时, 会提示推荐安装 vetur 插件, 当然选择安装了。安装成功后,会提示重启vscode image.png Vetur支持.vue文件的语法高亮显示,除了支持template模板以外,还支持大多数主流的前端开发脚本和插件,比如Sass和TypeScript等等 eslint

vue与TypeScript集成配置最简教程

為{幸葍}努か 提交于 2020-11-24 06:28:14
https://blog.csdn.net/u014633852/article/details/73706459 https://segmentfault.com/a/1190000011878086 这个是另一个typescript配置的文件 >npm i ts-loader typescript tslint tslint-loader tslint-config-standard --save-dev vue与TypeScript集成配置最简教程 vue与TypeScript集成配置最简教程 前言 初始化项目 配置 测试 进阶 前言 Vue的官方文档没有给出与TypeScript集成的具体步骤,网上其他的教程不是存在问题就是与vue-cli建立的项目存在差异,让人无从下手。 下面我就给出vue-cli建立的项目与TypeScript集成的最简配置。 初始化项目 首先用vue-cli建立webpack项目。这里为了演示方便,没有打开router和eslint等,可以根据自身情况打开。 # vue init webpack vue-typescript ? Project name vue-typescript ? Project description A Vue.js project ? Author ? Vue build standalone ? Install vue

React Hooks实践体会

为君一笑 提交于 2020-11-22 01:40:21
一、前言 距离React Hook发布已经有一段时间了,笔者在之前也一直在等待机会来尝试一下Hook,并且是尝试用Hook的方式构建整个项目,正好公司的新的存储项目启动了,需要一个新的B端的web管理平台,机会就来了。笔者公司之前的前端项目都基于笔者之前在React Class组件以生命周期的方式下搭建的工程化框架和业务最佳实践的架子。其他非笔者开发和维护的项目也都基于这套架子。组内有个小伙伴参加了所在城市在三月底举行前端开发者大会,回来给我说会上讲Hook了,但基本上都是在讲官方文档,并没有讲实际的实践,小伙伴觉得太low了。笔者当时心想在下一个项目里一定要玩把大的,推翻我们之前那两个项目的架子设计,重来一遍,不使用任何Class组件+生命周期的方式,采用全函数式组件+Hook的方式,仅保留Redux那套体系,以及一些经过长期业务沉淀下来的、可复用的工具函数等东西。 要这么做还有一个重要理由就是,在后面一些组件库的大版本更新有很大的可能都会抛弃对老生命周期的支持,在后面进行组件库升级的时候,会被迫升级React,进而会面临大量的业务逻辑修改。而换成Hook以后,可以直接在业务代码中彻底告别生命周期的组件设计方式。毕竟这个项目是长时间支持的,不可能只维持几个月,要为后续的迭代提前考虑。 在项目未进入正式开发前的两周预研时间里

eslint一些规则

a 夏天 提交于 2020-11-21 06:44:07
一、指定js文件不使用 ESLint 语法检查 1.整个文件范围内禁止规则出现警告 将 /* eslint-disable */ 放置于文件最顶部 /* eslint-disable */ alert('foo'); 2.在文件中临时禁止规则出现警告 将需要忽略的代码块用注释包裹起来 /* eslint-disable */ alert('foo'); /* eslint-enable */ 3.对指定规则的启用或者禁用警告 将需要忽略的代码块用注释包裹起来 /* eslint-disable no-alert, no-console */ alert('foo'); console.log('bar'); /* eslint-enable no-alert, no-console */ 4.对指定行禁用规则警告 有两种形式 alert('foo'); // eslint-disable-line // eslint-disable-next-line alert('foo'); 4.在指定行上禁用指定的某个规则 alert('foo'); // eslint-disable-line no-alert // eslint-disable-next-line no-alert alert('foo'); 5.在某个特定的行上禁用多个规则 alert('foo'); //

webpack 4.x 搭建项目脚手架

筅森魡賤 提交于 2020-11-21 06:26:11
一.前言 webpack配置较为繁杂,大部分教程开篇就从基本术语开始讲起,容易让人望而生畏。so,我已实用为目的写了这篇文章。 项目地址 github 码云 二.目标 <input type="checkbox" checked disabled>支持热替换 <input type="checkbox" checked disabled>支持scss,自动添加前缀 <input type="checkbox" checked disabled>支持eslint <input type="checkbox" checked disabled>支持babel <input type="checkbox" checked disabled>支持图片压缩 <input type="checkbox" checked disabled>支持多js入口,多html模板 三.搭建环境 创建 package.json 文件 npm init -y 首先,安装 webpack,webpack-cli 和 cross-env npm install --save-dev webpack webpack-cli cross-env 其中 cross-env 主要是用于比较方便的跨平台设置 process.env.NODE_ENV ,用于区分开发环境和生产环境。 新建目录src,目录下创建index