JavaScript 基础工具清单

2023-11-07

转载至:https://linux.cn/article-5935-rss.html

在训练营中,为扩展学员们的编程能力,我们给他们介绍了一些工具和库。目前有位JavaScript学员Kalina,他汇总了这些工具的清单,以分享给其他的代码爱好者。

基于Kalina的清单,我们JavaScript训练营的辅导员Ivan Storck画了一张思维导图:

通用

脚手架工具(用于启动项目)
  • Yeoman – Yeoman是一个健壮且固定的客户端程序库,包含了工具和框架,有助于开发者快速构建漂亮的web应用。
构建工具(自动化构建)
  • Grunt.js – Grunt生态系统很巨大,且每天成长着。由于有数以百计的插件可供选择,你可以使用Grunt自动化构建,且花费最少的代价。
  • Pint.js(Grunt助手) – Pint是一个小型、异步、感知依赖的基于Grunt的封装库,试图解决大规模构建过程中的一些问题。
  • Gulp.js – Gulp的流式构建方式和代码优于配置理念使构建更简单、更直观。
  • Browserify.js(浏览器端) – Browserify是一个允许编写、编译node.js风格的模块并将之用于浏览器的开发工具。就像node,我们在单独文件中编写模块,使用module.exports、exports导出外部方法和属性。
  • Uglify.js – Uglify.js是服务于NodeJS的一个JavaScript解析/压缩/美化库。
包管理工具
  • Homebrew(适用于Mac 系统) – Homebrew能安装你需要而苹果不提供的东西。
  • Apt (适用于Ubuntu系统) – apt-get命令是一个强大的命令行工具,与Ubuntu的高级包装工具(APT)配合使用,提供了安装新软件、升级已有软件、更新软件列表目录,甚至升级整个Ubuntu系统等功能。
  • NPM – npm是一个Node.js官方包管理工具。
  • Bower – Bower是一个web的包管理工具。

前端

MVC框架
  • Backbone.js – Backbone.js通过提供进行键值绑定的模块、自定义事件、具有丰富可枚举函数API的集合、能处理已定义事件的视图,搭建了web应用的架构。它通过RESTful JSON接口与其它已存在的API进行通信。
  • Ember.js – 当底层模块改变时,Ember使得Handlebar模板引擎在保持HTML最新方面做得更好。开始时,你甚至不需要编写任何JavaScript。
  • Angular.js – Angular.js能让你扩展应用的HTML词汇。由此产生的效果是网页极富表现力,代码可读性强,适合快速开发。
模板
  • Handlebars.js – Handlebars提供了让你顺利、有效地构建语义模板的强大能力。Handlebars兼容Mustache模板,因此你可以在Handlebars中导入Mustache模板,同时享用Handlebars的其他功能。
  • Mustache.js(比Handlebars更少外置元素) – Mustache是一个简单的web模板系统,已有ActionScript、 C++、Clojure、CoffeeScript、ColdFusion、D、Erlang、Fantom、 Go、Java、JavaScript、 Lua、.NET、 Objective-C、Pharo、Perl、PHP、Python、Ruby、Scala 和 XQuery语言实现版本的可用。
  • Jade – Jade 是一个node模板引擎,主要为node.js的服务器端模板而设计。
  • Haml-js – Haml-js允许在JavaScript项目中使用Haml语法,并拥有大部分与原先Haml相同的功能。
  • Eco – Eco能让你在标记元素中嵌入CoffeeScript 的逻辑。
测试
  • Casper.js – CasperJS是一个Javascript实现的,PhantomJS和SlimerJS的导航脚本和测试工具。
  • Zombie.js – Zombie.js是一个在模拟环境中测试客户端JS代码的轻量级框架。无需浏览器。

后端

服务器
  • Express  – Express是一个Node的web应用框架。
  • Node – Node.js是一个基于Chrome JavaScript 运行时建立的平台, 用来方便地搭建快速、 易于扩展的网络应用。
数据库
  • MongoDB – MongoDB 是个开源的文档数据库,引领着NoSQL数据库。
  • Postgresql – PostgreSQL 是一个强大、开源、对象-关系型数据库系统。
  • SQL – SQL用于与数据库进行通信。根据美国国家标准学会的定义,它是关系式数据库管理系统的标准语言。
架构风格
  • RESTful – 表现层状态转化是一种架构风格,包含了一组相互协作的架构约束。这些约束应用于分布式超媒体系统之间的组件、连接器和数据元素。
测试
  • Cucumber.js – Cucumber.js是一种流行的行为驱动开发工具,并将之应用于你自己的JavaScript程序
  • Jasmine – Jasmine是JavaScript的一个行为驱动开发测试框架。它不依赖于浏览器、DOM、或任何其他JavaScript框架。因此它适用于网站、Node.js项目、或任何可运行JavaScript的地方。
  • Mocha – Mocha 是一个运行于node.js和浏览器的特色丰富的JavaScript测试框架,使得异步测试更简单有趣。
  • Q-Unit – Q-Unit 是一个强大,易用的JavaScript单元测试框架。它被用于jQuery、jQuery UI 和 jQuery Mobile 项目,能够测试任何通用的JavaScript代码。
断言库
  • Chai – Chai 是一个行为驱动开发/测试驱动开发(BDD / TDD )断言库,用于node和浏览器,可以愉快地搭配任何JavaScript测试框架。
函数式编程工具
  • Underscore.js – Underscore是一个提供了一大堆有用的函数式编程辅助,无须扩展任何内置对象的JavaScript库。
  • Lo-Dash – Lo-Dash是一个提供了一致性、定制和性能的实用程序库。
来源: http://blog.jobbole.com/64771/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript 基础工具清单 的相关文章

  • 滚动在 chrome 中的 svg 异物内不起作用

    我在 svg 异物中有 div 带有溢出 auto 滚动仅适用于鼠标滚轮 无法拖动栏 它适用于 Firefox 但不适用于 chrome safari 如果 svg g 元素上没有转换 它就可以工作 参见小提琴 http jsfiddle
  • Font-Awesome 添加了 aria-hidden 属性,可防止图标出现在浏览器中 [SSR]

    我想在我的 Next js 项目中包含一些 Font Awesome 图标 我已经添加了需要的 标记到我的头部 然后 i i 标记到我的渲染方法 如果我在浏览器中打开该网站 它会向我发出以下控制台警告 index js 1 警告 来自服务器
  • 使用 AngularJs NgResource 从本地主机加载 JSON 文件

    Overview 我正在构建一个应用程序 在 MAMP 上运行 该应用程序包含联系信息 一旦该部分正常运行 该应用程序将扩展以包含更多数据 例如项目名称和截止日期 问题 当用户访问时 projects php project 我希望他们看到
  • javascript Array.prototype.push 如何连接

    我已经看到数组的 push 方法用于替换串联 但我不完全确定它是如何工作的 var a 1 2 3 var b 4 5 6 Array prototype push apply a b 它如何就地连接而不是返回一个新数组 apply htt
  • 无限水平滚动 Div

    我需要一个 div 当您将鼠标进一步向右或向左移动时 它会水平滚动 我发现 Smooth Div Scroll 插件 http www smoothdivscroll com 非常接近我的需要 然而 这存在一些问题 我需要能够使滚动元素从设
  • 当按下 html 键盘按钮时,将文本添加到输入字段(具有焦点的字段)

    我使用 HTML 创建了一个屏幕键盘 div and a 标签 页面上有六个文本输入 名字 昵称 姓氏 注释 过敏 手机号码 我不太擅长 JS 但如果页面上只有一个输入 我确实知道该怎么做 但我不确定当有多个输入时该怎么做 我遇到的问题之一
  • firebug 打开后断点重复触发

    当我在一个站点上打开 firebug 时 我无法分析任何内容 因为每隔几秒就会在该行上触发一个断点 function function a try function b i if i i length 1 i 20 0 function c
  • 使用 jquery UI 调整大小的分屏 div

    我心中有一个设计 涉及 html 中的拆分面板视图 类似于 winforms 拆分面板 我一直在尝试jQuery UI 可调整大小 http jqueryui com demos resizable我喜欢这个功能 我只是似乎无法协调两者的大
  • 单击链接时如何将另一个 JSP 页面注入到

    我在一个JSP页面中有两个不同的部分 其中一个包含链接菜单 单击时 div2 id content 会相应加载不同的页面 我正在做类似的事情 div ul class navbar li a href Login jsp Login a l
  • 如何将身份验证详细信息传递给 iframe 内的应用程序?

    我有一个网页 想在其中显示詹金斯的网页 因此使用iframe like But http xxx xxx xx xx 8080 view Nightly 20Builds 20 打开登录页面 因此无法直接显示内容 其实我想在没有登录的情况下
  • 使用 javascript/jquery 检查 .css 样式表的名称

    我正在尝试为论坛制作一个小 chrome 扩展 但我只希望它在论坛的某个区域中工作 问题是我不能只做 matches subforum 因为该论坛中的线程无法通过 URL 区分它们所在的子论坛 subforum 有自己的 css 样式表 所
  • Django CBV表单提交返回的JSON显示为新页面

    我正在使用 Django 3 2 我正在创建一个简单的时事通讯订阅表格 表单提交将 JSON 返回到前端 然后应该使用前端来更新页面的部分内容 但是 当我发布表单时 JSON 字符串将在新页面上显示为文本 这是调用视图的路由 urlpatt
  • 将 Blob 设置为 iframe 的“src”

    以下代码在 Chrome 中完美运行 但它不适用于 IE 有人可以告诉我这里出了什么问题吗 iframe src 也设置为 blob 如下所示
  • 无法在 .js 文件内命中断点

    我升级到 win 8 现在我在管理员权限下运行 VS 2012 并在 MVC 4 中创建一个网站 我在线检查了不同的解决方案 但没有一个有效 我的解决方案中有一个 javascript 文件 但是当我在其中放置断点时 在运行时我看到 没有为
  • JavaScript:String 和 Array 上的 indexOf 方法的效率差异

    我很好奇效率是否存在差异indexOf两者都可用的方法Array and String在 JavaScript 中 我以为indexOf在 String 上的效率低于在 Array 上的效率 而我的new测试结果支持了这一点 例如 var
  • 使用 Firefox 插件发出跨域 ajax 请求

    我对如何在 Firefox 插件中发出跨域 ajax 请求感到有点困惑 LastPass 和 Xmarks 等插件建议你可以做到这一点 但是当我尝试用 google 搜索你是如何做到这一点时 每个人似乎都说你不能 除非用户在 Firefox
  • SVG 沿圆弧添加文本

    我正在尝试绘制 SVG 径向饼图 如下所述 色卡 https stackoverflow com a 18210763 1395178 现在我尝试将文本与圆弧一起添加到每个切片 我试图展示Text 1具有与 M 和 A 值完全相同的 x y
  • Google 脚本过滤一个值的范围

    我想过滤第 1 列中仅包含 Bob 特定值的行的 google 工作表范围 到目前为止 我的代码允许我过滤out第 1 列中有 Bob 的行 我需要相反 我想返回第 1 列中只有 Bob 的行 因此 其中 filterSettings 不是
  • 如何在 jest 中测试调用和应用函数?

    这是我的callnapply js file const callAndApply caller object method nameArg ageArg tShirtSizeArg method call object nameArg a
  • 获取类的公共属性而不创建它的实例?

    假设我们有一个 JavaScript 类 var Person function function Person name surname this name name this surname surname Person prototy

随机推荐

  • Mybatis配置文件入门

    mybatis config xml
  • 基于SSM框架的《超市订单管理系统》Web项目开发(第二天)完成登录模块和用户退出模块

    超市订单管理系统 第二天 基于SSM框架的Web项目开发 昨天我们实现了登录功能 但是用的是模拟数据 今天我们要链接数据库整合Spirng Mybatis 读取数据库中的真实数据 用来跟我们输入的userCode和userPassword进
  • Java业内主流框架你知道吗?SSH和SSM有什么区别?

    大家好 我是威哥 今天我给大家分享Java的三大框架是什么 在SpringBoot出现之前 我们常说的三大框架是 Spring SpringMVC Mybatis SSM 而在SpringBoot出现之后 SpringBoot慢慢开始占据了
  • wxPython的基础教程

    写在前面的话 上个假期学习了python 发现它真的是一门很有趣的语言 所以这学期想学一些python的可视化编程 于是选择了wxPython 但是我在网上找中文教程找了好久都没有找到中文的教程 额 也许是我方法不对 无奈只好看英文的啦 于
  • 《九国列车》(学习报告)《leecode零基础指南》(第7天) ——排序,对排序的处理及题解和错题的总结

    1 leetcode 912 排序数组 我们先来看一种不对的做法 int sortArry int nums int numsSize int returnSize 函数的 int型 返回的是数组的首地址 int jie int mallo
  • STA系列 - 特殊时序分析multicycle/half-cycle/false path

    文章目录 什么是require time arrive time Multicycle Path Half Path Falth Path 本篇文章介绍的是特殊的时序path 全文为视频笔记 以及自己的理解 https www bilibi
  • python ,pip,pymmssql的安装

    1 下载python和pip安装包 下载 python 2 7 https www python org downloads windows 下载 pip https pypi python org pypi pip downloads下载
  • ruoyi-vue-plus学习2(异步日志)(@EventListener)(@Async)(线程池)(监听器)

    ruoyi vue plus的日志打印是通过监听器实现的 和原版若依稍稍不同 找到登录时记录日志的方法 该方法如下 这里的参数LogininforEvent为消息类 注意 貌似高版本的spring定义消息类不需要继承ApplicationE
  • React请求机制优化思路

    说起数据加载的机制 有一个绕不开的话题就是前端性能 很多电商门户的首页其实都会做一些垂直的定制优化 比如让请求在页面最早加载 或者在前一个页面就进行预加载等等 随着react18的发布 请求机制这一块也是被不断谈起 并且在后续其实也给出了明
  • 线性回归(最小二乘法)

    线性回归 算法概述 一个例子 数据 工资和年龄 2个特征 目标 预测银行会贷款给我多少钱 标签 考虑 工资和年龄都会影响最终银行贷款的结果那么它们各自有多大的影响呢 参数 工资 年龄 额度 4000 25 20000 4000 25 200
  • 关于特殊时期电力行业信息中心运营思路

    一 防御思路 安全运营是一系列规则 技术和应用的集合 用以保障组织核心业务平稳运行的相关活动 是通过灵活 动态的实施控制以期达到组织和业务需要的整体范围可持续性正常运行 信息中心在特殊时期扮演着关键的角色 因此需要精心设计运营思路以确保信息
  • 单片机全局变量 局部变量

    若在C51中定义一个全局变量 编译器将在RAM中为该变量指定一个专用地址 在C程序中给变量赋的值将存入这个专用地址中 程序操作该变量是 首先从专用地址中取出存放的值 然后再进行计算 全局变量被定义在内存中的专门地址上 存储位置固定 C51中
  • 实例:vmem_disk驱动-->vmem_disk的硬件原理(1)

    vmem disk是一种模拟磁盘 其数据实际存储在RAM中 它使用通过vmalloc 分配出来的内存空间来模拟出一个磁盘 以块设备的方式来访问这篇内存 加载vmem disk ko后 在使用默认模块参数的情况下 系统会增加4个块设备节点 其
  • 线性回归和逻辑回归

    1 回归和分类的问题 比如我们想预测房价 预测天气 预测股票等这些数值都是一些连续型的数值 如果我们想知道我一些房间中有多少个卧室 那么这些肯定是一个整数比如说2个卧室 3个卧室 不可能是2 1个卧室 3 68个卧室 类似于小数的这样一个连
  • 使用c语言写一个会动的小人

    使用c语言写一个会动的小人 运行效果 代码以及注释 运行效果 代码以及注释 include
  • 接口测试-第02天-接口用例设计思路、单接口用例,业务场景用例、postman

    更多功能测试以及全套学习路线图均在专栏 戳进去领取 系列文章目录 软件测试功能到自动化学习路线图 2022年最新版技术栈 软件测试01 从了解测试岗位职能和测试流程开始 附作业 软件测试02 6大实际案例手把手教你设计测试点 软件测试03
  • Linux Apache服务详解——Apache服务基础知识

    今天我们继续给大家介绍Linux相关内容 本文主要内容是Apache服务基础知识 一 Apache服务简介 Apache是一种网站服务程序 所谓网站服务程序 就是作为服务端 处理其他用户客户端发起的http或者https的请求 并给予响应的
  • 遇到问题: Windows下安装Python扩展模块, 提示“Unable to find vcvarsall.bat”的问题

    全程参考 https www cnblogs com yyds p 7065637 html 写得很好 不知道能不能解决我的问题 尝试解决办法 安装visual studio 2015 原因请看下面 1 为什么遇到这个问题 1 在安装商汤出
  • stem什么意思matlab,matlab中stem函数用法_常见问题解析,matlab

    matlab中如何自定义图例 常见问题解析 matlab中自定义图例的方法 首先打开matlab软件 然后点击勾选按钮 新建一个文件并输入代码为 x 0 pi 50 2 pi 接着执行该文件并添加一行新的代码为 legend a b 即可
  • JavaScript 基础工具清单

    转载至 https linux cn article 5935 rss html 在训练营中 为扩展学员们的编程能力 我们给他们介绍了一些工具和库 目前有位JavaScript学员Kalina 他汇总了这些工具的清单 以分享给其他的代码爱好