Browserify和凉亭。 规范的方法

我现在使用的软件包不能在npm中使用,现在就是这样的:

package.json有:

"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目录中,并且像这样本身使用它们

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

这是有效的,但我在想,如果可以使用与bower一起安装的软件包(到特定的文件夹中),并将它们本身用作节点模块? 是否可以调整节点的模块分辨率,并强制它不仅在node_modules目录中查找模块,而且还在bower目录中查找模块? 或者也许使用npm link或其他?

是否有某种使用浏览器与凉亭的惯例?

您可以使用browserify-shim并像下面这样configurationpackage.json的bower-installed模块:

 "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模块那样require短名字。

这是“浏览器”package.json属性的规范 。

你可以尝试通过debowerify进行安装

package.json可能如下所示:

 { "name": "browserify-begin", "version": "0.0.0", "dependencies": { }, "browserify": { "transform": [ "debowerify" ] }, "devDependencies": { "browserify": "^4.1.5", "debowerify": "^0.7.1", "grunt": "^0.4.5" } } 

给定的angular度与安装

 bower install angular 

那么在js文件中将会如下所示:

 require("angular");