1

I am new in Angular 4 and I want to export my styles as css file. When I serve or build the project, it creates a style.bundle.js file and add css' as html style element. But I want to export as stylesheet file and load it with link element.

My Angular-cli.json :

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "project": {
    "name": "ares"
  },
  "apps": [
    {
      "name":"desktop",
      "root": "src",
      "outDir": "dist/desktop",
      "assets": [
        "assets",
        "favicon.ico",
        "views/desktop"
      ],
      "index": "index.html",
      "main": "main.ts",
      "polyfills": "polyfills.ts",
      "test": "test.ts",
      "tsconfig": "tsconfig.app.json",
      "testTsconfig": "tsconfig.spec.json",
      "prefix": "app",
      "styles": [
        "../node_modules/materialize-css/dist/css/materialize.css",
        "../node_modules/font-awesome/css/font-awesome.css",
        "assets/desktop/css/styles.scss",
        "views/desktop/trader/first/assets/css/theme.scss"
      ],
      "scripts": [
        "../node_modules/jquery/dist/jquery.js",
        "../node_modules/hammerjs/hammer.js",
        "../node_modules/materialize-css/dist/js/materialize.js"
      ],
      "environmentSource": "environments/environment.ts",
      "environments": {
        "dev": "environments/environment.ts",
        "prod": "environments/environment.prod.ts"
      }
    }
  ],
  "e2e": {
    "protractor": {
      "config": "./protractor.conf.js"
    }
  },
  "lint": [
    {
      "project": "src/tsconfig.app.json",
      "exclude": "**/node_modules/**"
    },
    {
      "project": "src/tsconfig.spec.json",
      "exclude": "**/node_modules/**"
    },
    {
      "project": "e2e/tsconfig.e2e.json",
      "exclude": "**/node_modules/**"
    }
  ],
  "test": {
    "karma": {
      "config": "./karma.conf.js"
    }
  },
  "defaults": {
    "styleExt": "scss",
    "component": {}
  }
}
2
  • What style are you talking about? assets/desktop/css/styles.scss? Or, anything else? Commented Oct 2, 2017 at 20:47
  • I'm not familiar with angular-cli. Is it using webpack? Commented Oct 2, 2017 at 21:01

1 Answer 1

2

When you running ng build or ng serve it always creates a bundle like styles.bundles.js just for sake of saving some time on the dev build. From another hand, if you do ng build --prod it will produce styles.bundle.css.

If you want styles.bundle.css to be produced for your dev build then just add --extract-css flag e.g ng serve --extract-css.

Here is some more details on default flags that might be helpful:

enter image description here

Sign up to request clarification or add additional context in comments.

2 Comments

how can i see css line on chrome dev tools in dev mod :( I only see <style>..</style>
if you run ng serve --extract-css you should be able to see your styles, just go to network tab.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.