我在Angular CLI项目中使用angular2-logger版本0.6.0。当我尝试升级到Angular CLI 1.5和Angular 5时,发生以下错误
ERROR in ./node_modules/angular2-logger/app/core/level.ts
Module build failed: Error: C:\test\sample-5\sample\node_module\angular2-logger\app\core\level.ts is not part of the compilation. Please make sure it is in your tsconfig via the 'files' or 'include' property.
at AngularCompilerPlugin.getCompiledFile (C:\test\sample-5\sample\node_modules\@ngtools\webpack\src\angular_compiler_plugin.js:624:23)
at plugin.done.then (C:\test\sample-5\sample\node_modules\@ngtools\webpack\src\loader.js:467:39)
at <anonymous>
@ ./node_modules/angular2-logger/core.js 6:9-36
@ ./src/app/app.module.ts
@ ./src/main.ts
@ multi webpack-dev-server/client?http://0.0.0.0:0 ./src/main.ts
这是app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { Logger } from 'angular2-logger/core';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule
],
providers: [Logger],
bootstrap: [AppComponent]
})
export class AppModule { }
此示例项目由ng new sample
创建,因此每个设置都是Angular CLI默认设置。
答案 0 :(得分:2)
我找到了一个临时解决方案。
转到 node_modules \ angular2-logger \ app \ core ,然后删除所有.ts文件。
更多信息: https://github.com/code-chunks/angular2-logger/issues/175
答案 1 :(得分:0)
Temprory Solution对我有用。
已安装的软件包有一个分区node_modules/angular2-logger/dist/es6/
。
node_modules/angular2-logger/package.json
main
中的设置为
"main": "./dist/cjs/core.js",
将此更改为
"main": "./dist/es6/core.js",
您可能有一个不同的目录结构,因为在安装过程中会创建dist
。因此,目标是将主要指向已编译的core.js
文件。
将Logger
的所有导入语句更改为
import { Logger } from 'angular2-logger';
编译并运行并保持快乐。
我不知道这是一个错字或是否有决定,但这对于ng build --prod
答案 2 :(得分:0)
链接的angular2-logger问题:
由于错误状态,您需要包括对Typescript的引用 由angular2-logger导入的文件,以便TypeScript知道 他们。编辑tsconfig.json(如果使用的是tsconfig.app.json, cli)以包含以下代码段:
"include": [
"../node_modules/angular2-logger/app/core/level.ts",
"../node_modules/angular2-logger/app/core/logger.ts",
"../node_modules/angular2-logger/app/core/providers.ts",
"**/*.ts"
],
*根据您的node_modules和tsconfig.json位置,路径可能会更改。我不得不这样使用:
"node_modules/angular2-logger/app/core/level.ts",
由于我不是通配符爱好者,因此我删除了最后一行“ ** / *。ts”,并对位于src正下方的文件产生了错误。所以我最终在列表上列出了那些。这是对我有用的结果:
"include": [
"node_modules/angular2-logger/app/core/level.ts",
"node_modules/angular2-logger/app/core/logger.ts",
"node_modules/angular2-logger/app/core/providers.ts",
"src/main.ts",
"src/polyfills.ts"
]