비슷한 스택 오버 플로우를 읽었지만 알아낼 수 없었습니다. 나는 작은 걸음을 놓치고 있어야합니다.상대 경로. baseUrl 및 ionic2에서 작동하지 않는 경로 - angular2
{
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"declaration": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": [
"dom",
"es2015"
],
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"target": "es5",
"baseUrl": ".",
"paths":{
"*":[
"src/app/*",
"node_modules/*"
]
}
},
"include": [
"src/**/*.ts"
],
"exclude": [
"node_modules"
],
"compileOnSave": false,
"atom": {
"rewriteTsconfig": false
}
}
내 폴더 구조가
같은 것입니다 :import { Logger } from 'logging'
대신 내 tsconfig은 다음과 같습니다
import { Logger } from '../../modules/logging'
의 :
내 목표는 할 수있을 것입니다
src
--- app
------- logging
--------------- index.ts (contains exports for the provider and the ngModule)
--------------- logger.provider.ts (contains an injectable provider)
--------------- logging.module.ts (contains the ngModule)
--- app.module.ts
지수는 기본적으로이 있습니다
export { LoggingModule } from './logging.module';
export { LoggerProvider } from './logger.provider';
은 물론 나는 구조에서 파일을 생략. app.module.ts는 내 '로그인'모듈을 가져 오기 위해 노력하는 항목 클래스입니다. Visual Studio 코드는 가져 오기에 대해 불평하지 않습니다.
//import { FIREBASE_CONFIG } from 'configs';
import { NgModule, ErrorHandler } from '@angular/core';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';
import { AngularFireModule } from "angularfire2";
import { LoggingModule } from 'logging';
import { PostsModule } from 'posts';
@NgModule({
declarations: [
MyApp,
HomePage
],
imports: [
IonicModule.forRoot(MyApp),
PostsModule,
LoggingModule
//AngularFireModule.initializeApp(FIREBASE_CONFIG),
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage
],
providers: [{provide: ErrorHandler, useClass: IonicErrorHandler}]
})
export class AppModule {}
나는 VSC에 오류가 표시되지 않습니다 말했지만 내가 브라우저에서 응용 프로그램을 시작할 때 나는 질수록 :
Error: Cannot find module "logging"
at Object.<anonymous> (http://localhost:8100/build/main.js:82202:7)
at __webpack_require__ (http://localhost:8100/build/main.js:20:30)
at Object.<anonymous> (http://localhost:8100/build/main.js:105047:70)
at __webpack_require__ (http://localhost:8100/build/main.js:20:30)
at http://localhost:8100/build/main.js:66:18
at http://localhost:8100/build/main.js:69:10
정말 긴 상대 경로로 후퇴하지 않으
왜냐하면 1) 지루하고 2) 리펙토링이 앱이 성장할 때 악몽이되기 때문입니다.
감사합니다.
동일한 프로젝트에서 자신의 모듈을 가져 오려면 상대 URL을 사용해야합니다. 나는'package.json'에 열거 된 모듈이 될 npm으로부터 설치 되었다면 상대 URL없이 가져 왔을 뿐이다. – adriancarriger
''app''에서''tsc --traceResolution''을 시도하십시오 – raj
https://paste.ee/p/bXxZx – yafrack