0

저는 Electronular로 NativeScript, web 및 desktop을 사용하는 모바일 플랫폼 3 가지를 제공하는 Angular 4 프로젝트에서 작업하고 있습니다. 이 세 가지 프로젝트 (서비스, 모델, 파이프 ...)간에 공유 할 여러 코드가 있으므로이 세 가지 응용 프로그램 각각의 각 src 폴더에 공유 폴더를 만들었습니다. 나는이 세 가지 플랫폼의 레벨에서이 디렉토리를 동기화하기 위해 복사 붙여 넣기를했다.잡히지 않은 오류 : 'AppModule'모듈에서 가져온 예기치 않은 'SharedModule'값. @NgModule annotation을 추가하십시오.

프로젝트가 매우 빨리 시작되고 동기화가 두통이되어 일부 연구를 시작합니다. 나는 몇 가지 제안을했지만 가장 단순한 것처럼 보였던 것은 이미 공유 폴더를 솔루션의 루트 디렉토리에두고 심볼 링크를 사용하여 각 프로젝트의 폴더 내용을 동기화합니다.

그래서 나는 심볼릭 링크 https://github.com/NathanWalker/angular-seed-advanced/blob/master/tools/install.js

하지만를 만들 GitHub의에서 발견 꽤 좋은 코드를 사용 내가 프로젝트를 생성 할 때 나는

compiler.es5.js:1690 Uncaught Error: Unexpected value 'SharedModule' imported by the module 'AppModule'. Please add a @NgModule annotation. 
at syntaxError (compiler.es5.js:1690) 
at compiler.es5.js:15382 
at Array.forEach (<anonymous>) 
at CompileMetadataResolver.webpackJsonp.../../../compiler/@angular/compiler.es5.js.CompileMetadataResolver.getNgModuleMetadata (compiler.es5.js:15365) 
at JitCompiler.webpackJsonp.../../../compiler/@angular/compiler.es5.js.JitCompiler._loadModules (compiler.es5.js:26795) 
at JitCompiler.webpackJsonp.../../../compiler/@angular/compiler.es5.js.JitCompiler._compileModuleAndComponents (compiler.es5.js:26768) 
at JitCompiler.webpackJsonp.../../../compiler/@angular/compiler.es5.js.JitCompiler.compileModuleAsync (compiler.es5.js:26697) 
at PlatformRef_.webpackJsonp.../../../core/@angular/core.es5.js.PlatformRef_._bootstrapModuleWithZone (core.es5.js:4536) 
at PlatformRef_.webpackJsonp.../../../core/@angular/core.es5.js.PlatformRef_.bootstrapModule (core.es5.js:4522) 
at Object.../../../../../src/main.ts (main.ts:11) 

하지만 그늘이다하는 것입니다 이해할 수 없다이 오류가 내가 심볼릭 링크를 지우고 파일을 수동으로 돌려 놓으면 모두 정상적으로 빌드됩니다.

  1. 심볼릭 링크가이 오류의 원인입니까? (나는 인상을 가지고있다). 그렇다면 어떻게 해결할 수 있습니까?

  2. 여러 각도로 코드를 공유하는 또 다른 간단하고 효과적인 방법이 있습니까?

+0

@hafler에게 감사드립니다. 나는 이렇게 말한다 ... –

답변

1

Google에서 검색 한 후 해결책을 찾았습니다.

angular-cli webpack에는 문제가있는 것 같습니다. 자세한 내용은 다음 링크를 참조하십시오. https://github.com/webpack/webpack/issues/3148

문제를 해결하려면 심볼 링크 원본을 컴퓨터의 다른 드라이브에 넣어야합니다. 그것은 나를 위해 잘 작동합니다. 내가 :) 드라이브 D에 3 개 프로젝트의 대상 폴더 (에 공유 폴더에서 접합 심볼릭 링크를 만들

  • : \
    1. 나는 디스크 드라이브 C에 내 공유 모듈 폴더를 넣어. 모든 파일이 동기화됩니다. 아름다워.
  • +0

    안녕하세요 @ 할아버지는 내가 프랑스를 spkeak. 내 영어가 좋지 않다;) 수정을위한 감사 –

    +0

    걱정하지 마라 @ 진, 당신은 환영한다! – halfer

    +1

    Merci @halfer. 본 저널 –