私が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でインストールされたパッケージ(bower固有のフォルダーに)を使用し、それらをノードモジュールとしてネイティブに使用できるかどうか考えていましたか?ノードのモジュール解決を微調整し、node_modulesディレクトリ内だけでなくbowerディレクトリ内のモジュールも検索するように強制することは可能ですか?または、npm link
または何ですか?
Browserifyをbowerで使用するための何らかの規則はありますか?
browserify-shim を使用して、package.json
このような:
"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
できます。
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");