x)- [x] bug report -> please search issues before submitting
- [ ] feature request
@angular/cli: 1.2.0
node: 8.1.2
os: win32 x64
+---.vscode
+---e2e
+---modules
| \---heroes
\---src
+---app
+---assets
\---environments
npm init heroes
node_modules/heroes to modules/heroes foldermklink /J "node_modules/heroes" "modules/heroes"
"dependencies": {
...
"heroes": "*"
},
5.1 Run ng serve
5.2 Run ng build --aot
5.1. Run ng serve
Failed to compile.
./modules/heroes/heroes.component.ts
Module build failed: Error
at WebpackCompilerHost.populateWebpackResolver (G:\GIT\Angular\angular-tour-of-heroes\node_modules\@ngtools\webpack\src\compiler_host.js:135:51)
at _donePromise.Promise.resolve.then.then.then.then.then (G:\GIT\Angular\angular-tour-of-heroes\node_modules\@ngtools\webpack\src\plugin.js:371:32)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:169:7)
@ ./modules/heroes/heroes.module.ts 11:0-53
@ ./src async
@ ./~/@angular/core/@angular/core.es5.js
@ ./src/main.ts
@ multi webpack-dev-server/client?http://localhost:4200 ./src/main.ts
5.2. Run ng build --aot
ERROR in Cannot determine the module for class HeroDetailComponent in G:/GIT/Angular/angular-tour-of-heroes/src/app/components/her
o-detail/hero-detail.component.ts! Add HeroDetailComponent to the NgModule to fix it.
ERROR in ./src/main.ts
Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory' in 'G:\GIT\Angular\angular-tour-of-heroes\src'
@ ./src/main.ts 3:0-74
@ multi ./src/main.ts
ng serve watch and ng build --aot capability for symbolically linked modules on Windows machines.
This does not seem to be an issue on Linux machines.
The same issues also occurs with modules linked by lerna. For example:
https://github.com/OasisDigital/scalable-enterprise-angular.git
Known workaround for issue 5.1 with ng serve
ng ejectmodules-> symlinks values in webpack.config.js to falsemodule.exports = {
...
"modules": [
"./node_modules",
"./node_modules"
],
"symlinks": false
},
I believe the --preserve-symlinks already solves this (https://github.com/angular/angular-cli/pull/6460).
@filipesilva Thanks for your prompt response. I have updated to @angular/cli@latest, which had the fix you mentioned.
ng serve --preserve-symlinks=true does not watch changes in the symbolic linked folder anymore. Is this is an intended effect?
ng build --prod --preserve-symlinks=true & ng build --prod still failed though.
Error log
ERROR in ./src/$$_gendir async
Module not found: Error: Can't resolve 'G:\GIT\Angular\angular-tour-of-heroes\src\node_modules\heroes\heroes.module.ngfactory.ts'
in 'G:\GIT\Angular\angular-tour-of-heroes\src\$$_gendir'
@ ./src/$$_gendir async
@ ./~/@angular/core/@angular/core.es5.js
@ ./src/main.ts
@ multi ./src/main.ts
That particular side effect intended per se... but it is by design, in a way. You can find more information about the problems in that sort of setup in https://github.com/angular/angular-cli/issues/6387#issuecomment-302749300 and https://github.com/angular/angular-cli/issues/6228#issuecomment-301024884.
This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.
Read more about our automatic conversation locking policy.
_This action has been performed automatically by a bot._
Most helpful comment
I believe the
--preserve-symlinksalready solves this (https://github.com/angular/angular-cli/pull/6460).