小编jky*_*sey的帖子

如何使用自定义 environment.test.ts 设置运行 Angular 7 单元测试?

如何让 Angular CLI 在 Angular 7 中提供正确的环境/环境*.ts 文件?

我试过在三个不同的地方配置environment.tswith的替换,但environment.test.ts没有成功。

我试过用ng test和运行它ng test --configuration test

每次,如果我调试测试,我都会发现它使用environment.prod.ts(?!) 而不是environment.test.ts.

这是一个屏幕截图,显示了我尝试过的三个地方fileReplacements在此处输入图片说明 这是整个配置供参考:

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "mms": {
      "root": "",
      "sourceRoot": "src",
      "projectType": "application",
      "prefix": "mms",
      "schematics": {},
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "dist/mms",
            "index": "src/index.html",
            "main": "src/main.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.app.json",
            "assets": [
              "src/favicon.ico",
              "src/assets",
              "src/web.config"
            ],
            "styles": [
              "src/styles.scss", …
Run Code Online (Sandbox Code Playgroud)

unit-testing command-line-interface test-environments angular

11
推荐指数
1
解决办法
7840
查看次数

Angular 2基类输出EventEmitter不会被引发或处理

非常简单的基类 Closer

import {EventEmitter, Output} from 'angular2/core';

export class Closer {
  @Output() closed: EventEmitter<any> = new EventEmitter();

  constructor() {}

  close() {
    this.closed.emit({});
  }
}
Run Code Online (Sandbox Code Playgroud)

如果我是extends Closer另一个班级然后用它来标记

<derived-class (closed)="closeHandler()"></derived-class>
Run Code Online (Sandbox Code Playgroud)

closeHandler()永远不会被召唤.我可以看到Closer.close()被调用但是emit不会被派生类传播,也不会被其模板包含派生类和事件绑定的类处理.

如果我只是将其移动@Output到派生类,它就可以工作.但似乎Angular2应该将它放在派生类上.完全定义一组行为并继承它的能力会很好.

base-class derived-class event-handling eventemitter angular

6
推荐指数
1
解决办法
905
查看次数

webpack 2.1.0-beta.25错误unknown property postLoaders

如果我postLoaders: []在webpack.config中指定,webpack 2.1.0-beta.25(至少beta 23+)会抛出以下错误:

(只是有趣的一点):

configuration.module has an unknown property 'postLoaders'.
Run Code Online (Sandbox Code Playgroud)

(完整堆栈):

23 09 2016 13:37:31.599:ERROR [preprocess]: Can not load "webpack"!
WebpackOptionsValidationError: Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
- configuration.module has an unknown property 'postLoaders'. These properties are valid:
object { exprContextCritical?, exprContextRecursive?, exprContextRegExp?, exprContextRequest?, loaders?, noParse?, rules?, unknownContextCritical?, unknownContextRecursive?, unknownContextRegExp?, unknownContextRequest?, wrappedContextCritical?, wrappedContextRecursive?, wrappedContextRegExp? }
Options affecting the normal modules (`NormalModuleFactory`).
    at webpack (/Users/jared.youtsey/src/Quartz/Common/source/node_modules/webpack/lib/webpack.js:16:9)
    at …
Run Code Online (Sandbox Code Playgroud)

webpack

5
推荐指数
1
解决办法
3689
查看次数

如何使用@HostBinding将背景图像添加到Angular 2+指令中?

我需要创建一个Angular 2+(我在4.x)指令(非组件),通过添加背景图像@HostBinding.我知道我很亲密,但是当我检查它时,我会看到background-image: noneChrome的检查员.

import { Directive, HostBinding } from '@angular/core';
import { DomSanitizer, SafeStyle } from '@angular/platform-browser';

@Directive({
    selector: '[myDirectiveWithBackgroundImage]'
})
export class MyDirective {

    @HostBinding('style.background-image')
    public backgroundImage: SafeStyle;

    constructor(private sanitizer: DomSanitizer) {
        this.backgroundImage = this.sanitizer.bypassSecurityTrustStyle(
            'url(assets/images/favicon16.png) no-repeat scroll 7px 7px;'
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

我的资产/ images/favicon.16png由webpack提供.我已经试过各种路径选项,/assets,~/assets,等...但background-image总是none

https://plnkr.co/edit/5w87jGVC7iZ7711x7qWV?p=preview

background-image angular2-directives angular2-hostbinding angular

0
推荐指数
1
解决办法
1661
查看次数