How do I build with watch enabled using angular-cl

2020-02-23 06:19发布

问题:

I don't want to use serve, I know it watches for changes, builds and serves. I want to build upon changes. According to "ng help", build takes parameter --watch

ng build Builds your app and places it into the output path (dist/ by default). --watch (Boolean) (Default: false) aliases: -w --watcher (String)

I tried both -w and --watcher but it just gives error.

>ng build -w

Path must be a string. Received null

回答1:

I don´t know if it´s a bug or just not documented, but it seems that you need to add a output path for watching with ng build -o dist -w while dist is your output path.

Update:

The command is now: ng build -op dist -w

Update 2:

The command is now: ng build --output-path dist --watch



回答2:

ng build --watch just worked for me

And if you are using npm run build update the package.json file as

"scripts":{"build":"ng build --watch"}

and run npm run build as usual

make sure that outDir param of your app is correctly set in your angular-cli.json



回答3:

The ng build --watch looks for the path: dist to watch the changes. But as per the new version of the Angular, the default output path will be dist/<project-name>.

So you need to mention the output directory through command line like

ng build --output-path dist --watch

or

you can change the default location in angular.json... -> options -> outputPath: dist/<project-name> to dist and simply run ng build --watch