我正在尝试总结我对最流行的JavaScript包管理器,捆绑包和任务运行器的了解.如果我错了,请纠正我:
npm&bower是包管理员.他们只是下载依赖项,不知道如何自己构建项目.他们知道的是在获取所有依赖项之后调用webpack/ gulp/ grunt.bower就像npm,但是构建了扁平的依赖树(不像npm递归那样).含义npm获取每个依赖项的依赖项(可能会获取相同的几次),同时bower期望您手动包含子依赖项.有时bower并npm分别用于前端和后端(因为每兆字节在前端可能很重要).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 node的require实际上是AMD vs CommonJS.问题:
webpack&webpack-dev-server?官方文档说它是一个模块捆绑器,但对我来说它只是一个任务运行器.有什么不同?browserify?我们不能对node/ES6导入做同样的事情吗? gulp …我试图有条件地导入sass partial如果存在则覆盖一组默认样式变量.鉴于@import指令不能嵌套,我正在寻找实现以下目标的方法:
@if 'partials/theme'{
@import 'partials/theme';
}
Run Code Online (Sandbox Code Playgroud)
导入指令可能不在控制指令或mixin中使用,那么引用可能存在或不存在的部分的正确方法是什么?
我试图让我的ember.js应用程序更容易访问,并通过Apple的内置VoiceOver实用程序进行测试.我正在根据我的观点添加ariaRoles并添加导航目的不明确的aria-label属性.我在关注模态警报时遇到了问题,因为读者的注意力集中在模态背后的页面项上.有没有人有经验处理专注于屏幕阅读器的模态警报?我的印象是在我的视图中声明"ariaRole:'alertDialog'"为这样的对话设置了适当的角色,并且这个角色的焦点行为可能在屏幕阅读器之间有所不同.谢谢!!!
bower ×1
compass-sass ×1
ember.js ×1
gruntjs ×1
gulp ×1
javascript ×1
npm ×1
sass ×1
wai-aria ×1
webpack ×1