热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php和jq开发怎么使用es6,PHP与jquery

本文目录一览:1、phpstorm怎么使用es6语法

本文目录一览:


  • 1、phpstorm怎么使用es6语法


  • 2、请教如何在phpStorm中配置eslint


  • 3、jquery支持es6吗

phpstorm怎么使用es6语法

设置中 语言和框架 Languages Frameworks -》 选中Javascript 然后把 Javascript language version 修改为ECMAScript 6

请教如何在phpStorm中配置eslint

使用ESlint

一、ESLint跟JSLint和JSHint类似,但有以下区别:

1.使用Espree进行js解析(parse)

2.用AST抽象语法树去识别(evaluate)代码中的模式3.每个规则都是独立的插件

二、安装

全局安装:

npm install -g eslint

三、使用

如果是第一次使用,eslint --init 命令帮你完成初始化,生成.eslintrc文件然后eslint test.js test2.js

四、配置

{

"rules": {

"semi": ["error", "always"],

"quotes": ["error", "double"]

}

}

提示有三个level:

"off" or 0 - 关闭这个规则校验

"warn" or 1 - 开启这个规则校验,但只是提醒,不会退出"error" or 2 - 开启这个规则校验,并退出

五、常见问题

1.为什么不用jslint

创建eslint是因为急需插件化的校验工具

2.ESLint跟JSHint、JSCS的比较

ESLint比JSlint要慢2~3倍,因为ESLint在识别代码前需要用Espress构建AST,而JSHint在解析的时候就会识别代码。虽然慢些,但不至于成为痛点。

ESLint比JSCS快,(as ESLint uses a single-pass traversal for analysis whereas JSCS using a querying model.)3.ESLint仅仅是校验还是也检查代码风格

都有。ESLint does both traditional linting (looking for problematic patterns) and style checking (enforcement of conventions). You can use it for both.

4.支持es6吗?

支持。参考配置eslint.org/docs/user-guide/configuring5.支持JSX?

支持,但并不表示支持React。(Yes, ESLint natively supports parsing JSX syntax (this must be enabled in configuration.). Please note that supporting JSX syntax is not the same as supporting React. React applies specific semantics to JSX syntax that ESLint doesn't recognize. We recommend using eslint-plugin-react if you are using React and want React semantics.)5.支持es7吗?

本身不支持,可以使用babel-eslint

六、下面详细介绍下配置,地址eslint.org/docs/user-guide/configuring1.配置ESLint

主要有两种方法配置

(1)配置注释,直接嵌入到js文件中

(2)配置文件,使用js、json或者yaml文件来为整个目录及其子目录配置。形式有:.eslintrc.*文件,或者在package.json中配置eslintConfig字段,或者在命令行里配置。

配置分几个方面:

(1)环境(env):设置你的脚本的目标运行环境,如browser,amd,es6,commonjs等,每种环境有预设的全局变量(2)全局变量:增加的全局变量供运行时使用(3)规则(rules):设定的规则及该规则对应的报错level2.配置解析器选项(Specifying Parser Options)默认仅支持ES5语法,可以设置为es6 es7 jsx等。

{

"parserOptions": {

"ecmaVersion": 6,  // 可选 3 5(默认) 6 7"sourceType": "module", // 可选script(默认) module"ecmaFeatures": {

"jsx": true

},

},

"rules": {

"semi": 2

}

}

3.配置解析器(Specifying Parser),需要本地npm模块{

"parser": "esprima", // Espree(默认) Esprima Babel-ESLint"rules": { "semi": "error" } }

4.配置环境(Specifying Environments),可以多选

browser - browser global variables.

node - Node.js global variables and Node.js scoping.

commonjs - CommonJS global variables and CommonJS scoping (use this for browser-only code that uses Browserify/WebPack).

shared-node-browser - Globals common to both Node and Browser.

es6 - enable all ECMAScript 6 features except for modules.

worker - web workers global variables.

amd - defines require() and define() as global variables as per the amd spec.

mocha - adds all of the Mocha testing global variables.

jasmine - adds all of the Jasmine testing global variables for version 1.3 and 2.0.

jest - Jest global variables.

phantomjs - PhantomJS global variables.

protractor - Protractor global variables.

qunit - QUnit global variables.

jquery - jQuery global variables.

prototypejs - Prototype.js global variables.

shelljs - ShellJS global variables.

meteor - Meteor global variables.

mongo - MongoDB global variables.

applescript - AppleScript global variables.

nashorn - Java 8 Nashorn global variables.

serviceworker - Service Worker global variables.

atomtest - Atom test helper globals.

embertest - Ember test helper globals.

webextensions - WebExtensions globals.

greasemonkey - GreaseMonkey globals.

如果要在待校验文件里面配置可以这样配置:

/*eslint-env node, mocha */

如果要在配置文件中配置:

{

"env": {

"browser": true,

"node": true

}

}

如果在package.json中配置:

{

"name": "mypackage",

"version": "0.0.1",

"eslintConfig": {

"env": {

"browser": true,

"node": true

}

}

}

如果在YAML中配置:

---

env:

browser: true

node: true

也可以用插件

{

"plugins": ["example"],

"env": {

"example/custom": true

}

}

5.配置全局变量(Specifying Globals)

定义了全局变量以后,使用他们,ESLint不会发出警告。

在js文件中定义:

/*global var1, var2*/

设置read only

/*global var1:false, var2:false*/

在配置文件中:

{

"globals": {

"var1": true,

"var2": false

}

}

6.配置插件(Configuring Plugins)

使用npm安装第三方插件

{

"plugins": [

"plugin1",

"eslint-plugin-plugin2"

]

}

7.配置规则(Configuring Rules)

js中配置:

/*eslint eqeqeq: "off", curly: "error"*/

或者:

/*eslint eqeqeq: 0, curly: 2*/

如果规则有多个选项:

/*eslint quotes: ["error", "double"], curly: 2*/在配置文件中设置:

{

"rules": {

"eqeqeq": "off",

"curly": "error",

"quotes": ["error", "double"]

}

}

使用插件:

{

"plugins": [

"plugin1"

],

"rules": {

"eqeqeq": "off",

"curly": "error",

"quotes": ["error", "double"],

"plugin1/rule1": "error"

}

}

/*eslint "plugin1/rule1": "error" */

临时关闭eslint校验:

/*eslint-disable */

//Disable all rules between comments

alert('foo');

/*eslint-enable */

/*eslint-disable no-alert, no-console */

alert('foo');

console.log('bar');

/*eslint-enable no-alert */

在js特定行关闭校验:

alert('foo'); // eslint-disable-line

// eslint-disable-next-line

alert('foo');

alert('foo'); // eslint-disable-line no-alert, quotes, semi// eslint-disable-next-line no-alert, quotes, semialert('foo');

8.增加共享设置(Adding Shared Settings)

{

"settings": {

"sharedData": "Hello"

}

}

9.使用配置文件

eslint -c myconfig.json myfiletotest.js

10.继承配置文件(Extending Configuration Files)

{

"extends": [

"./node_modules/coding-standard/eslintDefaults.js",// Override eslintDefaults.js

"./node_modules/coding-standard/.eslintrc-es6",// Override .eslintrc-es6

"./node_modules/coding-standard/.eslintrc-jsx",],

"rules": {

// Override any settings from the "parent" configuration"eqeqeq": "warn"

}

}

11.忽略文件或目录(Ignoring Files and Directories)建立.eslintignore文件

# /node_modules and /bower_components ignored by default# Ignore files compiled from TypeScript and CoffeeScript**/*.{ts,coffee}.js

# Ignore built files except build/index.jsbuild/

!build/index.js

jquery支持es6吗

是否支持es6主要看浏览器。

jquery是把常用的js方法进行了封装,并兼容各浏览器,但对es6并没有进行浏览器兼容。在支持es6的新版本浏览器下,jquery也可以直接使用es6语法。

如果需要对低版本浏览器兼容运行es6的话一般使用babel。


推荐阅读
  • 为开发者提供了一系列实用的参考网站和资源链接,包括HTML速查手册( 和 ),帮助开发者快速查找和学习相关技术知识。此外,还涵盖了其他重要的开发工具和文档,为编程工作提供全面支持。 ... [详细]
  • EasyUI作为一种高效的前端框架,显著简化了JavaScript代码的编写,提升了开发效率。在构建窗口应用程序时,首先需要引入EasyUI所需的JS文件和CSS样式表。由于EasyUI依赖于jQuery,因此还需确保正确加载jQuery库。通过这种方式,开发者能够快速实现界面组件的动态交互与美观布局,为用户提供更加流畅的使用体验。 ... [详细]
  • 本文旨在介绍Three.js的基础概念及其应用场景。Three.js是一个基于WebGL的JavaScript库,用于在网页上创建和显示3D图形。文中将从Canvas的基本功能出发,探讨其局限性,并引出WebGL及Three.js的解决方案。 ... [详细]
  • 本文探讨了通过数组操作、事件委托、插件化开发、字符串拼接优化、HTML5 Data属性的使用、优先采用原生JavaScript以及JavaScript文件的压缩等方法,来提升jQuery应用程序的性能。 ... [详细]
  • 本文详细介绍了如何在VMware环境下安装CentOS 7 Minimal,并成功配置GNOME桌面环境的过程。包括解决网络连接问题和设置默认图形界面等关键步骤。 ... [详细]
  • OpenWrt 是一款高度可定制的嵌入式 Linux 发行版,广泛应用于无线路由器等领域,拥有超过百个预装软件包。本文详细探讨如何在 OpenWrt 上通过 Luci 构建自定义模块,以扩展其功能。 ... [详细]
  • 本文详细介绍了如何手动编写兼容IE的Ajax函数,以及探讨了跨域请求的实现方法和原理,包括JSONP和服务器端设置HTTP头部等技术。 ... [详细]
  • 本文详细探讨了 Java 中 Daemon 线程的特点及其应用场景,并深入分析了 Random 类的源代码,帮助开发者更好地理解和使用这些核心组件。 ... [详细]
  • 本文探讨了互联网服务提供商(ISP)如何可能篡改或插入用户请求的数据流,并提供了有效的技术手段来防止此类劫持行为,确保网络环境的安全与纯净。 ... [详细]
  • 本文探讨了异步编程的发展历程,从最初的AJAX异步回调到现代的Promise、Generator+Co以及Async/Await等技术。文章详细分析了Promise的工作原理及其源码实现,帮助开发者更好地理解和使用这一重要工具。 ... [详细]
  • 本文详细介绍了 Sublime Text 3 在 2021 年的激活密钥及其在线激活方法。用户可以通过提供的链接访问云海天教程,获取更多详细的激活码信息和操作步骤。此外,文章还提供了安全可靠的激活方案,帮助用户顺利激活软件,提升编程效率。 ... [详细]
  • Sublime Text 3 注册密钥及激活方法详解
    本文详细介绍了Sublime Text 3的注册密钥获取与激活方法,旨在帮助用户合法且高效地使用这款强大的文本编辑器。文章不仅提供了最新的注册密钥信息,还涵盖了详细的激活步骤,确保用户能够顺利激活软件,享受其带来的便捷与高效。此外,文中还简要对比了Sublime Text 3与其他主流文本编辑器的功能差异,为用户提供更多选择参考。 ... [详细]
  • 深入解析 Go 语言中的位操作技术 ... [详细]
  • 软件开发史上最具影响力的十位编程大师(附图解)
    在软件开发领域,有十位编程大师对行业发展产生了深远影响。本文基于国外知名社区的一项评选,通过图文并茂的形式,详细介绍了这十位杰出人物,包括游戏开发先驱John Carmack等,为读者呈现了他们卓越的技术贡献与创新精神。 ... [详细]
  • 这篇文章主要讲解了AndroidPhoneWindowManager监听屏幕右侧向左滑动实现返回功能的实现,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大 ... [详细]
author-avatar
Junjie_Liu85
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有