我目前正在构建一个小型的Angular项目,我在其中使用较少的样式。
我想将样式分解为远离组件的单独文件夹,而是有一个主要的导入文件:main.less,它只包含从它周围的样式表导入。 例如:
ggplot(data=data_melt[!is.na(data_melt$value),], aes(x=variable, y=value, group = Groups, color = Groups)) +
geom_point(size = 1) +
geom_line(size = 1) +
facet_wrap( ~ Groups) +
theme(axis.text.x = element_text(angle = 90))
这些是在main.less中导入的。 这意味着我的组件不使用styleURL属性,而是依赖于全局样式表。
在我的angular.json中,我指出了它的风格,如下:
buttons/buttons.less
header/header.less
hero/hero.less
当我运行服务时,它工作得很好,但是当我在按钮中更改某些内容时,它会刷新页面(如预期的那样),但不会应用更改。这适用于main.less中的每个导入文件。 但是,如果我直接在" styles"中添加button.less文件。在angular.json中,它就像一个魅力。 另外,如果我直接在main.less文件中添加样式,例如添加它,那么该行有效:
"styles": [
"src/app/less/main.less"
]
我做错了什么,为什么不能处理我的进口?如果我重新启动角度服务器,它会重新编译文件和tada.wav,添加更改。 没有记录错误。
答案 0 :(得分:1)
这似乎与less-loader 4.x.x有关,已在Angulars github页面上报告。
降级到较少的加载器3.x.x解决了这个问题。 只需使用:
npm install --save-dev less-loader@3.0.0
Tada.wav
答案 1 :(得分:0)
您必须告诉服务器注意更改。
ng serve --watch
答案 2 :(得分:0)
似乎less
的一个版本中存在问题。这个问题已经在这里讨论:
https://github.com/webpack-contrib/less-loader/issues/252
有两种选择:
我已经尝试了这两个版本,并且它们可以与less-loader": "4.1.0"
一起使用。以前我有less@3.0.4
,并且导入的.less模块的更新不会触发页面热重装。