我已从 Angular 8 升级到 9,并按照此处的所有步骤启用了 Ivy 。当我运行npm install一些我的包时抛出错误:
Tried to overwrite <package_path>.__ivy_ngcc_bak with an ngcc back up file, which is disallowed.
这是什么意思,为什么会这样?我很难找到有关它的任何信息。我已经为所有这些抛出此错误的软件包安装了最新版本,但在运行npm install. 谢谢!
我对 Angular Material Menu 模块有一个小问题。
我的app.module.ts 中有此代码:
import { SharedModule } from './shared/shared.module';
@NgModule({
declarations: [
// ...
],
imports: [
SharedModule,
],
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)
在我的shared.module.ts 中:
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { MatMenuModule } from '@angular/material/menu';
import { ListDropdownComponent } from './list-dropdown/list-dropdown.component';
@NgModule({
declarations: [
ListDropdownComponent,
],
imports: [
MatMenuModule,
],
exports: [
ListDropdownComponent,
],
})
export class SharedModule { }
Run Code Online (Sandbox Code Playgroud)
在我的list-dropdown.component.ts …
我将我的 angular 应用程序从版本 8 迁移到 9。运行 ng serve --open 后,我的应用程序在浏览器中打开并卡在加载屏幕上,控制台窗口中出现此错误:
`
core.js:610 Uncaught Error: Angular JIT compilation failed: '@angular/compiler' not loaded!
- JIT compilation is discouraged for production use-cases! Consider AOT mode instead.
- Did you bootstrap using '@angular/platform-browser-dynamic' or '@angular/platform-server'?
- Alternatively provide the compiler with 'import "@angular/compiler";' before bootstrapping.
at getCompilerFacade (core.js:610)
at Function.get (core.js:38351)
at getNgModuleDef (core.js:2195)
at assertNgModuleType (core.js:2933)
at compileNgModuleFactory__POST_R3__ (core.js:41373)
at PlatformRef.bootstrapModule (core.js:41740)
at Module../src/main.ts (main.ts:11)
at __webpack_require__ (bootstrap:79)
at Object.0 (main.ts:13)
at __webpack_require__ …Run Code Online (Sandbox Code Playgroud) 由于 TestBed.get 在 Angular 9 中已被弃用,因此当使用提供程序覆盖时,以下替代方案是什么
TestBed.configureTestingModule({
providers: [{ provide: MyClass, useClass: MyStub}]
});
const obj : MyStub = TestBed.get(MyClass);
Run Code Online (Sandbox Code Playgroud)
真的是这样还是有更好的方法?
const obj : MyStub = TestBed.inject(MyClass) as unknown as MyStub;
Run Code Online (Sandbox Code Playgroud) 我想导入所有角度材料模块并用于整体角度项目模板。
angular-material angular-module angular angular9 angular-cli-v9
我使用 ng-bootstrap 以 angular 开始了我的第一个项目,并按照安装过程进行了操作,但是它不起作用。
该消息是“未捕获的错误:您的应用程序或其依赖项之一似乎正在使用i18n.
Angular 9 引入了一个$localize()需要加载的全局函数。请添加import '@angular/localize';到您的 polyfills.ts 文件中。”
然后我在 polyfill.ts 中添加了这一行
import '@angular/localize';
Run Code Online (Sandbox Code Playgroud)
现在消息变成了
未找到 ./src/polyfills.ts 模块中的错误:错误:无法解析“D:\source\mh\Reclamos-v2\src”中的“@angular/localize”
我应该安装什么?本地化库的名称是什么?
升级到 Angular 9 后,我ReferenceError: window is not defined在运行yarn serve:ssr.
在我们的 Angular 应用程序中,我们使用 Domino 的技巧来模拟 SSR 的窗口(如在https://github.com/Angular-RU/angular-universal-starter/blob/master/server.ts#L21 中)。
因此,ng update在导入后添加这些行之后server.ts:
const distFolder = join(process.cwd(), 'dist/browser');
const indexHtml = existsSync(join(distFolder, 'index.original.html')) ? 'index.original.html' : 'index';
// Emulate browser APIs
const domino = require('domino');
const fs = require('fs');
const templateA = fs.readFileSync(join(distFolder, indexHtml)).toString();
const win = domino.createWindow(templateA);
win.Object = Object;
win.Math = Math;
global['window'] = win;
global['document'] = win.document;
Run Code Online (Sandbox Code Playgroud)
然而,设置似乎global['window']发生得太晚或永远不会发生。
您知道在哪里设置 …
我使用 Angular 8。
这个问题仅适用于 Angular DI 专家。
首先,我制作了一个 Angular 库,将在许多项目中重用。
在这个库中,我创建了一个抽象服务,必须在使用它的项目中定义该服务。
我在我的库中定义了一个名为 BridgeService 的抽象类
在我的主项目中,我创建了 BridgeService 来实现它:(在接下来的几行中,我将向您展示抽象的 BridgeService)
主要项目 > BridgeService :
import { BridgeService as AbstractBridgeService } from 'myLibrary';
@Injectable()
export class BridgeService implements AbstractBridgeService {
hello(){
alert('hello Word');
}
}
Run Code Online (Sandbox Code Playgroud)
主项目>用户模块:
import { UsersModule as LibraryUsersModule } from 'myLibrary';
@NgModule({
imports: [
CommonModule,
LibraryUsersModule,
],
//...
providers: [
BridgeService
// some try:
//{ provide: BridgeService, useClass: BridgeService }
],
})
export class UsersModule {
constructor(private bridgeService: BridgeService){
this.bridgeService.hello(); …Run Code Online (Sandbox Code Playgroud) angular angular-dependency-injection angular7 angular8 angular9
我使用 angular 9 并且我想做延迟加载 app-routing
{
path: '', loadChildren: () => import("./components/login/login.module")//.then(m =>
// m.LoginModule)
}
Run Code Online (Sandbox Code Playgroud)
在我创建登录模块之后:
@NgModule({
declarations: [LoginComponent],
imports: [
CommonModule,
FormsModule,
LoginModuleRouting
],
providers:[]
})
export class LoginModule { }
Run Code Online (Sandbox Code Playgroud)
和路由:
const routes: Routes = [
{
path: '', component: LoginComponent,
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class LoginModuleRouting { }
Run Code Online (Sandbox Code Playgroud)
问题是,当我打电话ng serve并继续访问 ` http://localhost:4200/ 时,我得到了这个异常:
core.js:6237
ERROR Error: Uncaught (in promise): Error: ASSERTION ERROR: NgModule '[object Module]' is not a …Run Code Online (Sandbox Code Playgroud) 我在 Angular 9 项目中使用 Angular Build Optimization 并使用以下代码生成包,但出现错误。我用错误谷歌搜索,但没有找到任何具体的答案。
由于错误表明问题仅在库本身中。我也做了 npm install 和 npm audit fix ,但一次又一次地得到同样的错误。
错误详情
An error occurred during the build:
TypeError: Cannot read property 'tapPromise' of undefined
at compiler.hooks.compilation.tap.compilation (E:\Code\blogui\BlogApp\node_modules\compression-webpack-plugin\dist\index.js:269:39)
at SyncHook.eval [as call] (eval at create (E:\Code\blogui\BlogApp\node_modules\tapable\lib\HookCodeFactory.js:19:10), <anonymous>:25:1)
at SyncHook.lazyCompileHook (E:\Code\blogui\BlogApp\node_modules\tapable\lib\Hook.js:154:20)
at Compiler.newCompilation (E:\Code\blogui\BlogApp\node_modules\@angular-builders\custom-webpack\node_modules\webpack\lib\Compiler.js:631:26)
at hooks.beforeCompile.callAsync.err (E:\Code\blogui\BlogApp\node_modules\@angular-builders\custom-webpack\node_modules\webpack\lib\Compiler.js:667:29)
at AsyncSeriesHook.eval [as callAsync] (eval at create (E:\Code\blogui\BlogApp\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:6:1)
at AsyncSeriesHook.lazyCompileHook (E:\Code\blogui\BlogApp\node_modules\tapable\lib\Hook.js:154:20)
at Compiler.compile (E:\Code\blogui\BlogApp\node_modules\@angular-builders\custom-webpack\node_modules\webpack\lib\Compiler.js:662:28)
at readRecords.err (E:\Code\blogui\BlogApp\node_modules\@angular-builders\custom-webpack\node_modules\webpack\lib\Compiler.js:321:11)
Run Code Online (Sandbox Code Playgroud)
angular.json 文件
"build": {
"builder": "@angular-builders/custom-webpack:browser",
"options": {
"outputPath": "dist/BlogApp",
"index": …Run Code Online (Sandbox Code Playgroud) angular9 ×10
angular ×9
angular-dependency-injection ×1
angular-ivy ×1
angular-test ×1
angular7 ×1
angular8 ×1
compression ×1
ng-bootstrap ×1
npm ×1
typescript ×1
webpack ×1