小编Rhi*_*rus的帖子

NPM vs. Bower vs. Browserify vs. Gulp vs. Grunt vs. Webpack

我正在尝试总结我对最流行的JavaScript包管理器,捆绑包和任务运行器的了解.如果我错了,请纠正我:

  • npm&bower是包管理员.他们只是下载依赖项,不知道如何自己构建项目.他们知道的是在获取所有依赖项之后调用webpack/ gulp/ grunt.
  • bower就像npm,但是构建了扁平的依赖树(不像npm递归那样).含义npm获取每个依赖项的依赖项(可能会获取相同的几次),同时bower期望您手动包含子依赖项.有时bowernpm分别用于前端和后端(因为每兆字节在前端可能很重要).
  • grunt并且gulp是任务运行者自动化所有可以自动化的东西(即编译CSS/Sass,优化图像,制作捆绑并缩小/转换它).
  • gruntvs. gulp(就像mavenvs. gradle或配置与代码).Grunt基于配置单独的独立任务,每个任务打开/处理/关闭文件.Gulp需要的代码量较少,并且基于节点流,这使得它可以构建管道链(无需重新打开同一个文件)并使其更快.
  • webpack(webpack-dev-server) - 对我来说,这是一个热门重新加载更改的任务运行器,可以让你忘记所有JS/CSS观察者.
  • npm/ bower+ plugins可以替换任务运行器.他们的能力经常交叉,所以如果你需要使用gulp/ gruntover npm+插件,会有不同的含义.但是,跑步者的任务是复杂的任务肯定更好(例如,"每个建设创建捆绑,从ES6 transpile到ES5,在所有浏览器模拟器中运行它,使屏幕截图和部署通过FTP收存箱").
  • browserify允许为浏览器打包节点模块.browserifyvs noderequire实际上是AMD vs CommonJS.

问题:

  1. 什么是webpack&webpack-dev-server官方文档说它是一个模块捆绑器,但对我来说它只是一个任务运行器.有什么不同?
  2. 你会在哪里使用browserify?我们不能对node/ES6导入做同样的事情吗?
  3. 你什么时候使用gulp …

npm gruntjs bower gulp webpack

1811
推荐指数
8
解决办法
27万
查看次数

有条件地导入部分 - 指南针

我试图有条件地导入sass partial如果存在则覆盖一组默认样式变量.鉴于@import指令不能嵌套,我正在寻找实现以下目标的方法:

 @if 'partials/theme'{
   @import 'partials/theme';
 }
Run Code Online (Sandbox Code Playgroud)

导入指令可能不在控制指令或mixin中使用,那么引用可能存在或不存在的部分的正确方法是什么?

sass compass-sass

8
推荐指数
2
解决办法
5630
查看次数

在ember中将屏幕阅读器的焦点设置为模态警报

我试图让我的ember.js应用程序更容易访问,并通过Apple的内置VoiceOver实用程序进行测试.我正在根据我的观点添加ariaRoles并添加导航目的不明确的aria-label属性.我在关注模态警报时遇到了问题,因为读者的注意力集中在模态背后的页面项上.有没有人有经验处理专注于屏幕阅读器的模态警报?我的印象是在我的视图中声明"ariaRole:'alertDialog'"为这样的对话设置了适当的角色,并且这个角色的焦点行为可能在屏幕阅读器之间有所不同.谢谢!!!

javascript accessibility wai-aria ember.js

3
推荐指数
1
解决办法
2187
查看次数