Generating Standalone Scripts

The Angular CLI provides a special feature that allows detaching command line tools from the project, and generating a set of scripts needed for standalone project compilation and testing:

ng eject

Which is an equivalent for ng eject -dev or ng eject --target=development, and instructs ng tool to use development configuration. Alternatively, you can use -prod or --target=production switches to enable production mode.

Upon running eject command, the CLI will:

  • update package.json with all dependencies needed to compile project without extra tools
  • generate and output the proper webpack configuration (webpack.config.js) and scripts for testing

The tool might provide additional notes in the console output like below:

Ejection was successful.

To run your builds, you now need to do the following commands:
   - "npm run build" to build.
   - "npm run test" to run unit tests.
   - "npm start" to serve the app using webpack-dev-server.
   - "npm run e2e" to run protractor.

Running the equivalent CLI commands results in error.

Some packages were added. Please run "npm install".

Now scripts section in your package.json file should link to local content for a start, build and various test scripts:

    "scripts": {
        "ng": "ng",
        "start": "webpack-dev-server --port=4200",
        "build": "webpack",
        "test": "karma start ./karma.conf.js",
        "lint": "ng lint",
        "e2e": "protractor ./protractor.conf.js",
        "prepree2e": "npm start",
        "pree2e": "webdriver-manager update --standalone false --gecko false --quiet"