在编写bower.json时,您可以在依赖项中指定版本号.有时我看到人们写作
{
...
"devDependencies" : {
"grunt" : "~0.3.13",
}
}
Run Code Online (Sandbox Code Playgroud)
究竟是什么意思?为什么不写> = 0.3.13?
这是某种最佳做法吗?
在一个流星项目中,我想拉几个前端包.bower可以拉出许多尚未使用的前端依赖项meteor add.在许多情况下,当流星套餐可用时,他们的版本落后于官方版本,有时候太落后了.
作为一个流星新手,我试图安装凉亭(我能找到的最新流星凉亭包):
$ meteor add bozhao:bower
Run Code Online (Sandbox Code Playgroud)
但是,当我运行流星服务器时它会崩溃:
W20160110-15:37:57.997(2)? (STDERR) /Users/igal/.meteor/packages/meteor-tool/.1.1.10.7bj3ks++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:245
W20160110-15:37:57.998(2)? (STDERR) throw(ex);
W20160110-15:37:57.998(2)? (STDERR) ^
W20160110-15:37:57.998(2)? (STDERR) ReferenceError: window is not defined
W20160110-15:37:57.998(2)? (STDERR) at bower_components/leaflet/dist/leaflet-src.js:526:1
Run Code Online (Sandbox Code Playgroud)
问题是:安装bower并在流星项目中使用它的最佳策略是什么?一个可接受的答案可能显示正确安装凉亭的流程,然后是leaflet包和它的leaflet.markercluster扩展
流星社区切换到npm,因此不再需要使用凉亭.简单地做npm install <package>,并import <package>在您的客户端代码,你可以开始使用组件!
Bower似乎偏离了semver规范,因为我有时会看到这样的依赖关系(来自2klic-angular/bower.json):
"dependencies": {
"angulargrid": "s-yadav/angulargrid#^0.4.0"
}
Run Code Online (Sandbox Code Playgroud)
这个问题在解释semver本身方面还有很长的路要走,但对于s-yadav/angulargrid#部分的解释却并非如此.
查看bower/lib/node_modules/bower-endpoint-parser/index.js
我看到以下代码:
function decompose(endpoint) {
// Note that we allow spaces in targets and sources but they are trimmed
var regExp = /^(?:([\w\-]|(?:[\w\.\-]+[\w\-])?)=)?([^\|#]+)(?:#(.*))?$/;
var matches = endpoint.match(regExp);
var target;
var error;
if (!matches) {
error = new Error('Invalid endpoint: ' + endpoint);
error.code = 'EINVEND';
throw error;
}
target = trim(matches[3]);
return {
name: trim(matches[1]),
source: trim(matches[2]),
target: isWildcard(target) ? '*' : target
};
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 durandal,但收到此错误:
错误:
Bower requirejs extra-resolution 不必要的分辨率:requirejs#~2.2.0
鲍尔.json
{
"name": "asp.net",
"private": true,
"dependencies": {
"underscore": "~1.8.3",
"bootstrap": "~3.3.6",
"bootswatch": "3.3.6",
"jquery": "2.2.3",
"jquery-validation": "1.15.0",
"jquery-validation-unobtrusive": "~3.2.6",
"angular": "1.5.7",
"angular-route": "~1.5.7",
"durandal": "~2.1.0",
"requirejs": "~2.2.0"
}
}
Run Code Online (Sandbox Code Playgroud)
没有运气找出它的含义或我需要做什么来解决它。RequireJS 已将其放入我的 lib 文件夹中,所以我想知道这是否不是真正的错误?