Browserify和Bower。规范方法 [英] Browserify and bower. Canonical approach

查看:64
本文介绍了Browserify和Bower。规范方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用npm中不可用的软件包的方式现在是这样的:

The way I'm using packages that not available out of the box in npm, right now is like that:

package.json具有:

package.json has:

 "napa": {
     "angular": "angular/bower-angular",
     "angular-animate": "angular/bower-angular-animate",
     "d3": "mbostock/d3",
     "ui-router":"angular-ui/ui-router",
     "bootstrap":"twbs/bootstrap"
  },
  "scripts": {
     "install": "node node_modules/napa/bin/napa"

,这会将文件安装到node_modules目录中,我像这样原生地使用它们

and that installs files into node_modules directory, and I use them natively like this

require('angular/angular')
require('ui-router') 
... etc

这行得通,但是我在想是否可以使用安装了bower的软件包(进入bower专用文件夹)并将其本机用作节点模块?是否可以调整节点的模块分辨率,并迫使其不仅在node_modules目录内,而且还在Bower目录内寻找模块?还是可以使用 npm链接或其他什么方法?

That works, but I was thinking if it's possible to use packages installed with bower (into bower specific folder) and use them natively as node modules? Is it possible to tweak node's module resolution and force it to look for modules not just inside node_modules directory, but also in bower directory as well? Or maybe using npm link or whatever?

是否存在某种将浏览器与凉亭结合使用的约定?

Is there some sort of convention to use browserify with bower?

推荐答案

您可以使用 browserify- shim 并在 package.json 中配置Bower安装的模块,如下所示:

You can use browserify-shim and configure the bower-installed modules in your package.json like this:

"browser": {
  "angular": "./bower_components/angular/angular.js",
  "angular-resource": "./bower_components/angular-resource/angular-resource.js"
},
"browserify-shim": {
  "angular": {
    "exports": "angular"
  },
  "angular-resource": {
    "depends": ["./bower_components/angular/angular.js:angular"]
  }
},

然后,您的代码可以要求的短名称,就好像是常规的npm模块。

Then your code can require them by their short name as if there were regular npm modules.

此处是浏览器软件包的规范.js在财产上

这篇关于Browserify和Bower。规范方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆