我在尝试将angular-in-memory-web-api
添加到使用Angular CLI创建的Angular 2项目时遇到了一些令人沮丧的问题。
这是var phantom = require('phantom');
var Q = require('q');
var _ph, _page, _outObj;
var url = 'https://tech.yandex.ru/maps/jsbox/';
phantom.create().then(ph => {
_ph = ph;
return _ph.createPage();
}).then(page => {
_page = page;
return _page.open(url);
}).then(status => {
console.log(status);
return waitState(textPopulated, 3);
}).then(() => {
return _page.property('content');
}).then(content => {
console.log(content);
_page.close();
_ph.exit();
}).catch(e => console.log(e));
function textPopulated() {
return _page.evaluate(function() {
var layer = document.querySelector('.ace_text-layer');
return layer && layer.childElementCount;
}).then(function(childElementCount) {
console.log('childElementCount: ' + childElementCount);
return childElementCount > 0;
});
}
function waitState(state, timeout) { // timeout in seconds is optional
console.log('Start waiting for state: ' + state.name);
var limitTime = timeout * 1000 || 20000;
var startTime = new Date();
return wait();
function wait() {
return state().then(function(result) {
if (result) {
console.log('Reached state: ' + state.name);
return;
} else if (new Date() - startTime > limitTime) {
var errorMessage = 'Timeout state: ' + state.name;
console.log(errorMessage);
throw new Error(errorMessage);
} else {
return Q.delay(50).then(wait);
}
}).catch(function(error) {
throw error;
});
}
}
中我当前的依赖项对象:
package.json
运行"dependencies": {
"@angular/common": "2.0.0",
"@angular/compiler": "2.0.0",
"@angular/core": "2.0.0",
"@angular/forms": "2.0.0",
"@angular/http": "2.0.0",
"@angular/platform-browser": "2.0.0",
"@angular/platform-browser-dynamic": "2.0.0",
"@angular/router": "3.0.0",
"@angular/upgrade": "2.0.0",
"core-js": "^2.4.1",
"reflect-metadata": "^0.1.3",
"rxjs": "5.0.0-beta.12",
"systemjs": "0.19.27",
"zone.js": "^0.6.23",
"angular-in-memory-web-api": "0.1.13",
"bootstrap": "^3.3.6"
},
时出现以下错误:
npm install
我尝试根据上面的警告更新依赖项,但最终得到了一个类似警告的新列表,并开始觉得我是在追逐我的尾巴"。是否有一种直接的方法可以在Angular CLI创建的应用程序中添加angular-in-memory-web-api?
答案 0 :(得分:3)
这些只是警告(而不是错误)。 Npm对等依赖性警告是自然发生的。大多数情况下,这不会妨碍您使用该模块的能力。我使用CLI 和 angular-in-memory-web-api
。只需添加以下内容(您拥有)就足以使其全部工作(使用CLI提供的默认Angular版本)。
"angular-in-memory-web-api": "0.1.13",
// version should be exact
// open regression issue with latest 0.1.14
如果你一直在改变所有版本的版本,最好的办法就是删除所有项目node_modules
,然后重新安装所有项目。