我正在使用带有TypeScript(版本1.6)的Angular(版本2),当我编译代码时,我得到以下错误:
Error TS2304: Cannot find name 'Map'.
node_modules/angular2/src/core/change_detection/parser/locals.d.ts(4,42): Error TS2304: Cannot find name 'Map'.
node_modules/angular2/src/core/facade/collection.d.ts(1,25): Error TS2304: Cannot find name 'MapConstructor'.
node_modules/angular2/src/core/facade/collection.d.ts(2,25): Error TS2304: Cannot find name 'SetConstructor'.
node_modules/angular2/src/core/facade/collection.d.ts(4,27): Error TS2304: Cannot find name 'Map'.
node_modules/angular2/src/core/facade/collection.d.ts(4,39): Error TS2304: Cannot find name 'Map'.
node_modules/angular2/src/core/facade/collection.d.ts(7,9): Error TS2304: Cannot find name 'Map'.
node_modules/angular2/src/core/facade/collection.d.ts(8,30): Error TS2304: Cannot find name 'Map'.
node_modules/angular2/src/core/facade/collection.d.ts(11,43): Error TS2304: Cannot find name 'Map'.
node_modules/angular2/src/core/facade/collection.d.ts(12,27): Error TS2304: Cannot find name 'Map'.
node_modules/angular2/src/core/facade/collection.d.ts(14,23): Error TS2304: Cannot find name 'Map'.
node_modules/angular2/src/core/facade/collection.d.ts(15,25): Error TS2304: …Run Code Online (Sandbox Code Playgroud) 我开始使用RxJS,我不明白为什么在这个例子中我们需要使用像flatMap或的函数concatAll; 这里的数组数组在哪里?
var requestStream = Rx.Observable.just('https://api.github.com/users');
var responseMetastream = requestStream
.flatMap(function(requestUrl) {
return Rx.Observable.fromPromise(jQuery.getJSON(requestUrl));
});
responseMetastream.subscribe(url => {console.log(url)})
Run Code Online (Sandbox Code Playgroud)
如果有人可以直观地解释发生了什么,那将非常有帮助.
在每个请求中,我的服务器都收到了对/favicon.ico的GET请求,即使它的REST api不包含html文件也是如此.为什么会发生这种情况?如何防止此请求?
我如何将像服务这样的依赖项注入angular2管道?
import {Pipe, PipeTransform} from 'angular2/core';
import {MyService} from './service';
//How i am injecting MyService to the pipe?
@Pipe({name: 'exponentialStrength'})
export class ExponentialStrengthPipe implements PipeTransform {
transform(value:number, args:string[]) : any {
return Math.pow(value, parseInt(args[0] || '1', 10));
}
}
Run Code Online (Sandbox Code Playgroud) 我试图发布npm包,当我全局安装包并尝试运行cli命令我得到这个错误:
/.nvm/versions/node/v0.12.2/bin/myPack: line 1: use strict: command not found
/.nvm/versions/node/v0.12.2/bin/myPack: line 3: syntax error near unexpected token `('
/.nvm/versions/node/v0.12.2/bin/myPack: line 3: `var _commandLineArgs = require('command-line-args');'
Run Code Online (Sandbox Code Playgroud)
错误引用的文件顶部:
'use strict';
var _commandLineArgs = require('command-line-args');
var _commandLineArgs2 = _interopRequireDefault(_commandLineArgs);
Run Code Online (Sandbox Code Playgroud)
package.json bin部分:
"bin": {
"myPack": "dist/myPack.js"
}
Run Code Online (Sandbox Code Playgroud)
当我在我的本地开发中运行它时效果很好,问题是什么?
我想为每个循环更改当前对象并且它不起作用,为什么它不起作用,我该怎么做?
var arr = [{num: 1}, {num: 2}];
arr.forEach(function(item) {
item = {somethingElse: 1}
});
console.log(arr);
Run Code Online (Sandbox Code Playgroud) 有一个全局事件,我们可以在状态更改/启动时使用,而不是组件生命周期挂钩,而不是每个组件?像在UI路由器中:
$rootScope.$on("$stateChangeStart", function() {})
Run Code Online (Sandbox Code Playgroud) 我正在使用业力和幻影运行我的测试,我正在使用mocha和sinon,有时测试通过,有时我没有任何理由得到这个错误:
? "before each" hook: workFn
? should call get user api
? "after each" hook for "should call get user api"
Finished in 1.04 secs / 0.2 secs
SUMMARY:
? 42 tests completed
? 3 tests failed
FAILED TESTS:
UserService
? "before each" hook: workFn
PhantomJS 1.9.8 (Mac OS X 0.0.0)
TypeError: 'null' is not an object (evaluating 'document.querySelector('.arrow' + index).classList') (public/client/build/main.js:3195)
? "after each" hook for "should call get user api"
PhantomJS 1.9.8 (Mac OS X 0.0.0)
PhantomJS …Run Code Online (Sandbox Code Playgroud) 我有这个sass目录:
- _vars.scss
- main.scss
Run Code Online (Sandbox Code Playgroud)
//vars.scss
$base-container: 1400px;
Run Code Online (Sandbox Code Playgroud)
//main.scss
@import './vars';
Run Code Online (Sandbox Code Playgroud)
在其他js文件中我有:
require('./some-module-sass-file');
Run Code Online (Sandbox Code Playgroud)
//some-module-sass-file.scss
.container {
width: $base-container;
}
Run Code Online (Sandbox Code Playgroud)
问题是我在vars文件中有全局变量,而some-module-sass-file无法识别它们并抛出错误:
undefined variable $base-container
Run Code Online (Sandbox Code Playgroud) 我有一个索引html文件,我需要注入生产ENV附加脚本.与gulp我可以用插件像gulp inject这样做,我怎么能用webpack做到这一点?
例如:
<script src="script.js"></script>
// I want this script only in the production index html file
<script src="script2.js"></script>
Run Code Online (Sandbox Code Playgroud) javascript ×7
angular ×2
angularjs ×2
node.js ×2
typescript ×2
webpack ×2
express ×1
karma-mocha ×1
npm ×1
rxjs ×1
sass ×1