iLe*_*ing 29 node.js browserify bower
我现在使用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"
Run Code Online (Sandbox Code Playgroud)
并将文件安装到node_modules目录中,我就像这样使用它们
require('angular/angular')
require('ui-router')
... etc
Run Code Online (Sandbox Code Playgroud)
这是有效的,但我在想是否可以使用与bower一起安装的软件包(进入特定于bower的文件夹)并将它们原生用作节点模块?是否可以调整节点的模块分辨率并强制它不仅在node_modules目录中查找模块,还在bower目录中查找模块?或者可能使用npm link或其他什么?
是否有某种惯例与浏览器一起使用browserify?
Ian*_*Lim 41
您可以尝试通过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"
}
}
Run Code Online (Sandbox Code Playgroud)
给定角度安装
bower install angular
Run Code Online (Sandbox Code Playgroud)
然后在js文件中将如下:
require("angular");
Run Code Online (Sandbox Code Playgroud)
Pet*_*ons 23
您可以使用browserify-shim并在此处配置bower-installed模块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"]
}
},
Run Code Online (Sandbox Code Playgroud)
然后你的代码可以require通过他们的简短名称,就像有常规的npm模块一样.