0

我工作的一个角4项目锡布尔赫丁3个平台(移动与NativeScript,网络和桌面与电子)。因为我将在这三个项目(服务,模型,管道......)之间分享几个代码。我在这三个应用程序的每个文件夹的每个src文件夹中创建了一个共享文件夹。我做了一个复制粘贴来同步这3个平台级别的这个目录。未捕获错误:模块“AppModule”导入的意外值'SharedModule'。请添加注释@NgModule

很快的项目开始增长,并同步成为一个头痛,所以我开始做一些研究。我有几个建议,但在我看来,最简单的和已经与我分开的是,将共享文件夹放在解决方案的根目录中,并使用符号链接同步每个项目中文件夹的内容。

所以我用在GitHub上找到创建符号链接 https://github.com/NathanWalker/angular-seed-advanced/blob/master/tools/install.js

而是一个相当不错的代码时,我生成项目,我有这样的错误,我无法理解

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. symlinks是这个错误的原因? (我有印象)。如果是的话,该如何解决?

  2. 是否有共享的几个项目之间我的角度代码另一个简单有效的方法?

+0

感谢@hafler的更正。我讲法语所以... –

回答

1

我在Google上搜索一些东西后找到解决方案。

这似乎是在角-CLI的WebPack的问题。请参阅此链接了解详情:https://github.com/webpack/webpack/issues/3148

为了解决这个问题,你应该把你的符号链接的源计算机上的其他驱动器上。这对我来说可以。

  1. 我把磁盘驱动器C我的共享文件夹模块:\
  2. 我创建共享文件夹的接线符号链接到3个项目目标文件夹(在驱动器d :)。并且所有文件都是同步的。这很漂亮。
+0

嗨@halfer我spkeak法语。我的英文不好;)谢谢更正 –

+0

不用担心@Jan,欢迎你! – halfer

+1

Merci @halfer。 bonnejournée –

相关问题