如何让 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
非常简单的基类 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
如果我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) 我需要创建一个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
background-image angular2-directives angular2-hostbinding angular