原文链接:https://drupal.org/community-initiatives/drupal-core/javascript
我们将在Drupal8中让JavaScript变得灵活。我们希望这可以成为让所有人感到自豪的JavaScript。目前我们计划了8步来实现它。
清理当前的代码
以下是我们在JS中有待提高的地方:- #1481560: Add "use strict" to all core JavaScript to enforce clean code
- #1415788: [Meta] javascript spring clean-up
- #1574470: [Meta] selectors clean-up
- #1419652: [Meta] javascript logging and error reporting
- #1440628: [Meta] the big javascript toolbar/tableheader/overlay/fragment mess
单元测试
通过 QUnit 实现JS单元测试, 甚至可以像 jQuery Swarm。
更好的线上文档
Drupal 是开源项目中说明文档最好的之一。是时候将JS提升到同样的水平了。
插件式的预处理
有时候我们写的模块,像Bundle Cache或者我们想要通过脚本载入脚本,像labjs。 要让 预处理/聚合 像插件式一样,意味着我们可以从以下,做一些很棒的东西。
- #352951: Make JS & CSS Preprocessing Pluggable
- #1014086: Consider using imagecache style generation of CSS and JS aggregates
精美的Drupal JS手册
"我认为JavaScript是唯一一种人们在使用前不需要学习的语言。" -- Douglas Crockford 让我们教会人们如何去做1个普通的东西。JSLint/JSHint
JSLint 和 JSHint 在阻止JS做错误事情方面对我们有很大的帮助。 让我们在个人进程开发和模块开发中使用他们之中的一个。缩小
让我们缩小我们的JS. 使之可以真实的提高用户终端的性能。巩固所有JS模式
Drupal 7中有很多的JS,然而我们想Drupal 8中将会有更多的JS。 结构上,我们可以从使用模块化从中受益, 就像 Dojo 或者 jQuery UI 做的那样。 此外,还有一些类库, 像 underscore, 也许可以提供实用工具, 可以帮助我们编写更好的JS。- #1542344: Use AMD for JS architecture
- #1541860: Reduce dependency on jQuery
- #1446166: Use JS events instead of Drupal.behaviors
- #1090592: [meta] Use HTML5 data-* attributes instead of #ID selectors in Drupal.settings
- #1033392: Script loader support in core (LABjs etc.)
- #1172670: Evaluate standardized usage of HTML5 Storage API through a library
实际中所涉及的问题全部在这里
http://drupal.org/project/issues/3060/term/232