我们既受到各种各样的JavaScript包管理解决方案的祝福和诅咒,所有这些都有各自的优点.由于这里无关紧要的原因,我已经确定了我的主要解决方案.但是,在其他系统(例如凉亭和组件)上有太多好的代码可以忽略这些解决方案.因此,我希望建立一个环境,我可以使用browserify从npm和bower加载包(我们将为另一个问题保存组件).
到目前为止,我提出的最好的方法是使用运行package.json的postinstall脚本来设置我bower install:
{
... configuration ...
"scripts": {
"postinstall": "bower install"
}
}
Run Code Online (Sandbox Code Playgroud)
这在构建第一级依赖项(即strait bower依赖项和strait npm依赖项)时构建正确的目录结构:
- MyMixedComponent
- main.js
- package.json
- node_modules
- npmDependency
- bower_components
- bowerComponent
Run Code Online (Sandbox Code Playgroud)
使用browserify上的debowerify转换可以很好地构建,browserify -t debowerify 但是,当我想在另一个项目中从npm安装MyMixedComponent时npm install MyMixedComponent,目录结构就像你期望的那样构建了npm:
- MyNewProject
- main.js
- package.json
- node_modules
- MyMixedComponent
- main.js
- package.json
- node_modules
- npmDependency
- bower_components
- bowerComponent
Run Code Online (Sandbox Code Playgroud)
由于bower是一个平面依赖树,当使用browserify和debowerify进行构建时,这当然不起作用.实际需要的是这样的:
- MyNewProject
- main.js
- package.json
- …Run Code Online (Sandbox Code Playgroud) 我有一个javascript Web应用程序,其中包含许多可点击的元素,这些<a href='javascript:void(0)'>元素当前都是元素.因为有很多链接,当用户在页面上javascript:void(0)盘旋时,在浏览器的左下角闪烁,例如chrome和firefox,这是令人讨厌和丑陋的.
我知道我应该将这些元素作为可访问性和移动友好性的链接.有没有办法在浏览器中阻止此行为?或者,我可以将所有<a href='javascript:void(0)'>标签动态转换<div>为非触摸浏览器的标签,但这看起来很混乱.
bower ×1
browserify ×1
click ×1
commonjs ×1
html ×1
hyperlink ×1
javascript ×1
node.js ×1
npm ×1