在Angular CLI中使用angular-in-memory-web-api

时间:2016-11-05 21:39:01

标签: angular npm webpack

我在尝试将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?

1 个答案:

答案 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,然后重新安装所有项目。