javascript - Angular 6 - Less CSS 的导入不再有效

标签 javascript css angular less

我想重新使用使用 Less 的 Angular 5 元素中的一些结构。在这个旧元素中,我可以简单地从组件中使用这一行加载 .less 文件:

@import '~app/shared/less/bootstrap';

这将加载:

/my-app/src/app/shared/less/bootstrap.less

现在我有一个空白的 Angular 6 元素,它也被配置为使用 Less 作为预处理器:

ng new my-app --routing --style less

angular.json 中提取:

"my-app": {
  "prefix": "app",
  "schematics": {
    "@schematics/angular:component": {
      "styleext": "less"
    }
  },
  "architect": {
    "build": {
      "options": {
        "styles": [
          "src/styles.less",
          "app/shared/less/styles.less"

不过行

@import '~app/shared/less/bootstrap';

...编译错误:

Failed to compile.
./src/app/shared/component/some.component.less
Module build failed:
@import '~app/shared/less/bootstrap';
^
'~app/shared/less/bootstrap' wasn't found.

我也试过:

@import '.app/shared/less/bootstrap';
@import '.src/app/shared/less/bootstrap';
@import '~app/shared/less/bootstrap.less';

……没有任何运气。

我是不是忘了配置什么?

最佳答案

在 Angular 6 中,您必须导入所有文件到 main(在您的情况下为 src/styles.less)css 文件:

angular.json 中只放:

  "styles": [
          "src/styles.less"
]

styles.less中(在app之前用/导入你想要的所有文件):

@import './app/shared/less/bootstrap.less';

在这里查看我对 css 的回答:Angular 6 load css folders in angular.json

对您的编辑./src/app..:

@import './src/app/...'

关于javascript - Angular 6 - Less CSS 的导入不再有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51041765/

相关文章:

javascript - 使用 useEffect() 获取数据每毫秒发出一次 get 请求

javascript - Animate.css 和音频

css - 2个并排动态加载的div

angular - Angular/CLI 6.x 中的自定义原理图构建没有错误,但我无法使用它来生成文件

javascript - 不同 HTML 页面上的 Angular2 应用程序

angular - combineLatest 抛出 TS2349 6 或更多流

javascript - 在从 MysQL 数据库填充的 textarea 字段中嵌入 <br> 标签?

javascript - 用 perl 术语解释 JS 闭包

javascript - 使用 jQuery 根据另一个下拉列表中的选定选项显示隐藏的下拉列表

html - 我怎样才能右对齐我的div