2017-02-13 13 views
4

我有以下應用程序文件夾結構。爲子文件夾中的應用運行angular-cli

-- Web App 
---- node_modules 
---- src (source files) 
---- angular-cli.json 
---- package.json 
-- node_modules 
-- ServiceApp1 
---- src (source files) 
-- ServiceApp2 
---- src (source files) 
-- package.json 

服務應用程序共享依賴關係,它們位於根級別package.json中。這是webpack模塊構建的默認行爲。如果它沒有在當前文件夾中看到一個node_modules文件夾,它將查找父級。這很好,因爲我有這些共享的依賴關係,並且只有一個node_modules文件夾用於服務應用程序。我希望所有應用程序共享相同的package.json和node_modules。

但是,該web應用程序使用angular-cli。如果我刪除所有依賴關係,從它的地方的package.json,我得到以下錯誤:

You have to be inside an Angular CLI project in order to use the serve command. 

如果我提出角cli.json到根變「應用程序」:從「SRC」,「根」以「網絡\ SRC」我得到以下錯誤:

> ng serve --base-href=web 

** NG Live Development Server is running on http://localhost:4200. ** 
49% building modules 549/837 modules 288 active ...ngular/material/core/portal/portal.jsError: No module factory available for dependency type: ContextElementDependency 
    at Compilation.addModuleDependencies (/Users/dev/node_modules/@angular/cli/node_modules/webpack/lib/Compilation.js:206:21) 
    at Compilation.processModuleDependencies (/Users/dev/node_modules/@angular/cli/node_modules/webpack/lib/Compilation.js:195:8) 
    at _this.buildModule.err (/Users/dev/node_modules/@angular/cli/node_modules/webpack/lib/Compilation.js:335:13) 
    at building.forEach.cb (/Users/dev/node_modules/@angular/cli/node_modules/webpack/lib/Compilation.js:140:27) 
    at Array.forEach (native) 
    at callback (/Users/dev/node_modules/@angular/cli/node_modules/webpack/lib/Compilation.js:140:13) 
    at module.build (/Users/dev/node_modules/@angular/cli/node_modules/webpack/lib/Compilation.js:167:11) 
    at ContextModule.<anonymous> (/Users/dev/node_modules/@angular/cli/node_modules/webpack/lib/ContextModule.js:118:3) 
    at ContextModule.result.resolveDependencies (/Users/dev/node_modules/@ngtools/webpack/src/plugin.js:197:25) 
    at ContextModule.build (/Users/dev/node_modules/@angular/cli/node_modules/webpack/lib/ContextModule.js:99:7) 
    at Compilation.buildModule (/Users/dev/node_modules/@angular/cli/node_modules/webpack/lib/Compilation.js:142:10) 
    at factoryCallback (/Users/dev/node_modules/@angular/cli/node_modules/webpack/lib/Compilation.js:324:11) 
    at /Users/dev/node_modules/@angular/cli/node_modules/webpack/lib/ContextModuleFactory.js:96:12 
    at /Users/dev/node_modules/tapable/lib/Tapable.js:204:11 
    at done.then (/Users/dev/node_modules/@ngtools/webpack/src/plugin.js:199:28) 
    at process._tickCallback (internal/process/next_tick.js:103:7) 
49% building modules 550/837 modules 287 active ...ngular/material/core/portal/portal.js/Users/dev/node_modules/@angular/cli/node_modules/webpack/lib/Compilation.js:329 
             if(_this.profile) { 

TypeError: Cannot read property 'profile' of null 

什麼是建設中存在的一個子文件夾中的角CLI項目的最佳方法是什麼?我知道angular-cli不支持構建多個項目,沒關係,我只有1個web/cli項目。

回答

1
ng serve--prod --base-href=../subDirName/ 
+0

只需添加您的主要根源路徑基本HREF –

+0

同樣的錯誤,只要我不使用--prod,使用開關給了我一個完全不同的錯誤(與AngularFire2) –

+0

我增加了在有幫助的情況下,其餘的錯誤日誌 –

相關問題