Angular:AOT编译器复制我的样式

时间:2018-02-07 08:58:57

标签: angular webpack

这是我的配置:

main.ts:

import "./vendor";

vendor.ts:

(...)
import "./styles/styles.css";

angular-cli.json:

(...)
  "apps": [
    {
     (...)
      "styles": [ "./styles/styles.css" ],
      (...)
    }
  ]

使用此配置,所有都可以使用webpack-dev-server正确运行。

但是,当我用这个命令编译我的项目时:

ng build --target=production --environment=prod

我得到两个严格相同的CSS文件,它们都包含在index.html中。 enter image description here

如果我从.angular-cli.json中删除styles.css,则根本没有文件。

我的错误在哪里? 感谢

1 个答案:

答案 0 :(得分:0)

我终于找到了解决方案。

  1. 从vendor.ts
  2. 中删除import "./styles/styles.css"
  3. 像这样修改webpack.config.js:

    module.exports = {
      entry: {(...)
       "vendor": [
         './vendor.ts',
         './styles/styles.css'
         ](...)
    
  4. "styles": [ "./styles/styles.css" ]保留在angular-cli.json

  5. 使用此配置,webpack-dev-server和AOT编译器可以正常工作。